Página 1 de 1

Preenchimento de variáveis e impressão via Macro

Enviado: 30 Jun 2016 às 13:24
por MarlonSchwengber
Boa tarde!

Preciso de um ajudinha dos programadores em VBA, com a planilha em anexo.
Basicamente o que eu fiz foi tentar automatizar a rotina de geração do documento, onde as variáveis são a Linha, o numero da ordem e o TAG (células em amarelo).
Gravei uma macro para copiar as informações variáveis e colar no formulário (as variáveis são exportadas do ERP que utilziamos no setor), logo depois mandando imprimir, e assim o processo foi repetido 11x.

GAP: se eu quiser imprimir apenas 1 formuários, ele irá preencher o primieiro e sera impresso mais 10 formulários coom o campo das variáveis em branco.

Essa lista ela possui um número variável de ordens, podendo chegar a 500 formulários a serem gerados. Gostaria de saber se alguém saberia programar uma validação do tipo ("se a célula estiver diferente de vazia -> copiar/colar/imprimir as 3 informações, se não parar o programa e não imprimir mais nenhuma ficha") para que eu consiga imprimir o número correto de formulários e não precise repetir a rotina de 11 em 11 vezes, bem como gastar impressões desnecessárias.

P.S.: se quiserem reformular ou tiverem alguma sugestão de rotina, fiquem a vontade
Agradeço desde já!

Re: Preenchimento de variáveis e impressão via Macro

Enviado: 30 Jun 2016 às 14:46
por alexandrevba
Boa tarde!!

Eu não entendi muito bem, mas quanto a parte de fazer algo somente se os campos estiverem preenchidos...
Código: Selecionar todos
Sub amsgbox()
    If Range("b4").Value <> "" And Range("g4").Value <> "" And Range("i4").Value <> "" Then
        'Faça alguma coisa
    Else
        msgbox "favor preencher os campos (B4, G4 e I4)"
    End If
End Sub
Att

Preenchimento de variáveis e impressão via Macro

Enviado: 30 Jun 2016 às 15:05
por MarlonSchwengber
Alexandre,
Na planilha do anexo, o range N8:P18 é alimentado manualmente. Quando eu clico em imprimir (macro gravada), a rotina faz:
1. a célula N8 é copiada e colada na célula B4;
2. a célula O8 é copiada e colada na célula G4;
3. a célula P8 é copiada e colnada na célula I4.
4. o document é impresso.
5. repete os 4 passos novamente, mas ao invés da linha 8, são copiadas as informações da linha 9, depois 10, 11, 12.. e assim sucessivamente até a linha 18.

Eu tenho que repetir esse processo para gerar 11 documentos sempre, mas gostaria que ele imprimisse um range indefinido de informações, ou seja, se eu tivesse 500 tags, o.m. e linha (range N8:P500). Quando a célula não estiver preenchida, ele pare de gerar e imprimir..

Deu pra entender?

De qualquer forma, lhe agradeço pela resposta

Re: Preenchimento de variáveis e impressão via Macro

Enviado: 30 Jun 2016 às 17:47
por alexandrevba
Boa tarde!!

Tente assim...
Código: Selecionar todos
Sub AleVBA_2456()
Dim rngTag As Range
Dim rngCell As Range

Set rngTag = Range("N8:N" & Cells(Rows.Count, 14).End(xlUp).Row)

For Each rngCell In rngTag
    Range("B4") = rngCell.Offset(0, 2)
    Range("G4") = rngCell.Offset(0, 1)
    Range("I4") = rngCell
    'Coloque o comando para imprimir aqui
Next rngCell
End Sub
Att

Preenchimento de variáveis e impressão via Macro

Enviado: 01 Jul 2016 às 07:51
por MarlonSchwengber
Agora sim, ficou show de bola! Obrigado por sua ajuda Alexandre, resolveu meu problema e otimizou a rotina!
Abraço, Marlon