Página 1 de 1
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 07 Dez 2017 às 12:17
por rit
Boa tarde amigos,
eu tenho uma planilha que eu faço etiquetas eu queria um código que faz impressão e defina a quantidade a partir de uma celula as configurações de impressão eu vou deixar gravada então isso nao importa, a primeira planilha eu quero que ele coloque a quanttidade que esta na celula E4, a segunda planilha vai ser sempre 1 impressão, alguem pode fazer esse código para mim ?
Obrigado.
Re: Código para IMPRESSÃO quantidade definida a partir da ce
Enviado: 07 Dez 2017 às 18:34
por gfranco
Boa noite.
Veja se ajuda:
Código: Selecionar todosSub imprimir()
On Error GoTo erro_imprime
Dim numeroCópias As Long
If Not VBA.IsNumeric(Plan1.Range("e4")) Or Plan1.Range("e4") < 1 Then
MsgBox "Informe a quantidade de impressões"
Exit Sub
End If
numeroCópias = Plan1.Range("e4").Value
Plan1.PrintOut copies:=numeroCópias
Plan2.PrintOut copies:=1
Exit Sub
erro_imprime:
MsgBox "Um erro ocorreu, verifique"
End Sub
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 08 Dez 2017 às 08:33
por rit
Obrigado Gfranco isso resolveu 100% o que eu preciso para um arquivo só.
Eu adicionei esse código a um botão no excel, e gostaria de saber se tem como eu fazer uma macro para apertar varios desses botões em arquivos diferentes (nomes diferentes)
Exemplo: Eu tenho esse arquivo ai que é o numero 1 ai vai ter uma quantidade X de arquivos uns 15 por dia, e eu queria criar um arquivo "mestre"
que faça o seguinte, eu alimente ele com o nome dos arquivos, aperte um Botão e ele procure no diretorio executando o processo de impressão, que seria apertar o botão
de cada arquivo.
não sei se é trabalhoso fazer isso, andei pesquisando e tem alguns códigos parecidos na internet mas sempre para um arquivo só, e o que eu quero é que o código faça
a abertura e execução das macros de impressão a partir de uma "lista de nomes" que eu vou alimentar.
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 08 Dez 2017 às 10:15
por gfranco
Os arquivos alvo são idênticos a esse modelo que vc postou acima?
Eles estarão numa mesma pasta?
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 08 Dez 2017 às 10:22
por rit
Sim, são identicos e estarão na mesma pasta.
Re: Código para IMPRESSÃO quantidade definida a partir da ce
Enviado: 08 Dez 2017 às 11:44
por gfranco
Boa tarde.
Salve essa sub numa pasta em branco.
ela comandará a impressão conforme vc descreveu que necessita.
Deixei umas instruções para vc se localizar.
Obs: NÃO TESTADA !
Dê retorno.
Código: Selecionar todosSub imprimir()
On Error GoTo erro_imprime
Dim numeroCópias As Long
Dim arq() As Variant
Dim wbprincipal As Workbook, wbaberto As Workbook
Dim contaErros As Long
Dim nomeArquivo As String
Set wbprincipal = ThisWorkbook
contaErros = 0
'linha abaixo pede para navegar até a pasta e selecionar os arquivos para impressão
arq = Application.GetOpenFilename("Arquivos do Excel (*.xls*),*.xls*", Title:="Selecione os arquivos", MultiSelect:=True)
Application.ScreenUpdating = False
'inicio do loop pelos arquivos apontados....
For A = LBound(arq()) To UBound(arq())
nomeArquivo = arq(A)
Application.Workbooks.Open nomeArquivo
Set wbaberto = ActiveWorkbook
'abaixo: se a célula "E4" do arquivo contiver um número, então manda para impressão
If VBA.IsNumeric(wbaberto.Worksheets(1).Range("e4").Value) And wbaberto.Worksheets(1).Range("e4").Value > 0 Then
numeroCópias = wbaberto.Worksheets(1).Range("e4").Value
wbaberto.Worksheets(1).PrintOut copies:=numeroCópias
wbaberto.Worksheets(2).PrintOut copies:=1
'se a célula não contiver um número, o nome do arquivo será printado na janela de verificação imediata (Control + G) para vc avaliar
Else
Debug.Print nomeArquivo
contaErros = contaErros + 1
End If
Application.DisplayAlerts = False
wbaberto.Close savechanges:=False
Application.DisplayAlerts = True
Next A
Application.ScreenUpdating = True
wbprincipal.Activate
If contaErros = 0 Then
MsgBox "Processo concluido, Todos os arquivos foram impressos"
Else
MsgBox "Processo concluido" & VBA.Chr(13) & "Porém, alguns arquivos apresentaram problemas" & VBA.Chr(13) & "Verifique a janela de Verificação,Teclando Control + g"
End If
Exit Sub
erro_imprime:
Application.ScreenUpdating = True
MsgBox "Um erro ocorreu, verifique"
End Sub
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 11 Dez 2017 às 06:29
por rit
gfranco bom dia,
Aparentemente esta dando certo mas ainda nao consegui testar na impressora de etiqueta, ela quebrou semana passada e vao arrumar hoje, assim que eu conseguir fazer um teste te dou um feedback por aqui.
obrigado!
Código para IMPRESSÃO quantidade definida a partir da celula
Enviado: 11 Dez 2017 às 09:52
por gfranco
Ok. Fico no aguardo do retorno.
Caso encontre algum problema procure detalhar para que eu faça a correção.
At.
Giovani.
Re: Código para IMPRESSÃO quantidade definida a partir da ce
Enviado: 11 Dez 2017 às 10:08
por rit
Cara perfeito, testei em algumas etiquetas e até então nenhum problema, ganhei até um parabens de quem vai fazer esse serviço de impressão, o cara que fazia isso abria um por um.. Muito obrigado!