Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Macro Excel


Eduardo Both

Pergunta

Olá pessoal, é meu primeiro post no fórum (pra ser sincero, me cadastrei pra poder pedir essa ajuda, portanto meu problema não é exatamente prioridade, visto que não contribui nada com o fórum xD), então me desculpem qualquer erro/engano.

Enfim, meu problema é o seguinte:

Situação/necessidade: Imaginem aquelas notas fiscais ou ordens de serviço, etc. que têm um "numero de controle" (em versões impressas costumas ser um numero que vai incrementando a cada folha). Pois bem, há um arquivo modelo para ordens de serviço e a idéia é incrementar o valor da célula que contem o "numero da folha" a cada impressão automaticamente pra garantir que não haja numeros iguais (o que geraria tremenda bagunça xD).

Até onde cheguei: Bem, sozinho consegui chegar somente até o seguinte código

Private Sub Workbook_BeforePrint(Cancel As Boolean)

If Not (ActiveWorkbook.Saved) Then

ActiveWorkbook.Save

End If

End Sub

Nota-se que até o momento o máximo que consegui foi salvar o arquivo antes de ser impresso (coisa que eu ainda nem sei se vou usar mesmo...). O que falta é exatamente a parte de incrementar o numero de controle.

Idéia: A idéia é um script que fassa algo do tipo "getValor_da_célula > incrementa esse número > setValor_na_célula". Não precisa haver nenhum tipo de controle relativo a saber se a impressão foi bem sucedida ou não para que o numero seja incrementada, visto que só é necessário garantir que o valor seja diferente (resumindo, não preisa ser sequencial).

----------------------------------------------

Enfim, é isso. Como disse no inicio, esse é meu primeiro post no fórum, o que significa que estou pedindo sem nunca ter dado nada xD Espero poder contribuir no futuro em retribuição a ajuda de vocês o/

Obrigado pela atenção o/

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Plan1.Range("A1").Value = Plan1.Range("A1").Value + 1

End Sub

Não sei como os dados estão dispostos em sua planilha, mas o ideal seria incrementar esse número na mesma linha onde estão as ordens de serviços/notas fiscais.

Link para o comentário
Compartilhar em outros sites

  • 0
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Plan1.Range("A1").Value = Plan1.Range("A1").Value + 1

End Sub

Não sei como os dados estão dispostos em sua planilha, mas o ideal seria incrementar esse número na mesma linha onde estão as ordens de serviços/notas fiscais.

Muito obrigado, creio que isso vá funcionar perfeitamente (alterando a célula a ser modificada de acordo com a necessidade, claro). Qualquer problema reporto aqui mesmo.

Assim terminar os testes e tudo estiver funcionando ok venho aqui avisar o/

Muito obrigado mesmo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...