Humberto, eu nunca cheguei a utilizar impressora com rolo de etiquetas, e fiquei com a seguinte duvida:
As etiquetas devem ser criadas uma abaixo da outra e depois enviar para impressora ou quer criar a primeira e enviar para a impressora, e depois a segunda e enviar para a impressora e assim por diante.
Este tipo de impressora ela pula página ? tipo se fosse em impressora normal a cada instrução PrintOut é referente a uma página(folha) e na impressora de rolo é da mesma forma ?
Se for para enviar direto, não sei ao certo o sistema de imprimir deste tipo de impressora, mas não precisaríamos apos criar a etiqueta copia-la para depois enviar, pergunto porque em seu anexo você diz que a área de impressão é o que está preenchido na cor Roxa.
Editando:
Resolvi colocar uma adapatação levando em conta a criação das etiquetas uma abaixo da outra, em sequencia respeitando a qde de cada uma:
Para que a mesma funcione corretamente em seu modelo conforme o anexo, faça as seguintes alterações:
Nomeie o Range S7 com o nome : rgCodigo
Nomeie o Range S12 com o nome : rgResponsavel
Nomeie o Range U11 com o nome : rgPeso
Nomeie o Range W11 com o nome : rgData
Nomeie o Range S15 com o nome : rgObs
Nomeie o Range W7 com o nome : rgDescricao
Sub Criar_EtiquetasRolo()
Dim sQde
Dim sCod
Dim i As Long
Dim x As Long
Dim rng As Range
'Dim rngSoma As Range
Dim sLinEtq
Dim sQdeTT As Double
Set rng = Sheet6.Range("J3", Sheet6.Range("J65536").End(xlUp))
Application.ScreenUpdating = False
sLinEtq = 2
x = 1
For Each sCod In rng
'Armazena a Qde de Etiquetas por Codigo
sQde = sCod(1, 9).Value
'Alimenta a Soma do Total de cada Etiqueta
sQdeTT = sQdeTT + sQde
'Cria as Etiquetas de acordo com a Qde
For i = x To sQdeTT
'Ranges nomeados
Range("rgCodigo").Value = sCod 'S7
Range("rgResponsavel").Value = sCod(1, 3).Value 'S12
Range("rgPeso").Value = sCod(1, 4).Value 'U11
Range("rgData").Value = sCod(1, 6).Value 'W11
Range("rgObs").Value = sCod(1, 8).Value 'S15
Range("rgDescricao").Value = sCod(1, -1).Value 'W7
'Copia e cola as etiquetas criadas
Range("rgCopyEtq").Copy Destination:=Range("B" & sLinEtq)
sLinEtq = sLinEtq + 19
x = x + 1
Next i
Next sCod
End Sub
Em seu modelo você tem a coluna "I" OCULTA sem nenhum dado, se for apagar a mesma lembre-se de ajustar as colunas nas instruções.
Faça os testes e veja se é isto.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 07/04/2014 6:51 pm