Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Sidney_Marques

Geração de etiquetas no excel com número de volume e previsualização

Recommended Posts

Boa tarde!

Sou iniciante em VBA e estou construindo uma planilha geradora de etiquetas com código de barras.

Consegui fazer quase tudo na planilha, porém existe um campo na planilha de entradas que destina-se à quantidade de volumes de uma mesma nota fiscal que estão sendo recebidos, consegui até fazer com que a quantidade de etiquetas impressas seja igual ao número de volumes recebidos mas não consigo fazer com que no campo da etiqueta apareçam os volumes no formato 1 / 4, 2 / 4, 3 / 4 e 4 / 4 (considerando uma entrada com 4 volumes)

 

Será que alguém poderia me ajudar?

teste1.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi, qual é o campo da etiqueta, que está se referindo? 

image.png.e0966a5d73a1de5e87e9fcf54e7d43a6.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Basole!

O campo volume deveria ser preenchido com 1/5.

Na planilha "ENTRADAS" preencho o campo "N°de Volumes", criei a primeira macro fazendo com que apenas as linhas marcadas com na coluna S sejam copiadas para a planilha "PREETIQUETAS".

Se rodar a macro perceberá que serão geradas 5 etiquetas, uma para cada volume, mas todas com 5 no campo volume. Gostaria que aparecesse 1/5, 2/5, 3/5, 4/5 e 5/5.

Se tivesse na planilha "ENTRADAS" lançamentos com um único volume, deveria ser gerar 1 etiqueta com o campo "Volume" preenchido com 1/1 E assim por diante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite, o arquivo (*.xlsx), que voce mandou não contem nenhuma macro. Para anexar aqui um arquivo com a extensão (*.xlsm), voce precisa compactar(*.zip), por exemplo. Ou fazer upload e colocar o link aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Basole!

Impressionante rapaz, ficou perfeito!!!

Muito obrigado mesmo.... Parabéns pela disposição e comprometimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

Poderia nos ajudar com uma planilha similar, no caso criar etiquetas.

 

Não consigo gerar a macro.

Já criei o cadastro a seleção e a pré impressão o layout e a página de geração exatamente como esta o seu.

 

Poderia criar o código de execução baseado neste layout.

 

Por favor.

 

 

 

CONTROLE DE ETIQUETAS.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se isso ajuda

 

IMPORTANTE: 

 

Se for usar em outra planilha sugiro copiar a guia layout para o arquivo original

 

As celulas que recebem dados devem estar desbloqueadas

 

Formatar Celulas> Proteção > Desmarque bloqueadas.

CONTROLE DE ETIQUETAS.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou ótimo amigo.

 

Poderia apenas deixar ele selecionar a impressora quando damos o comando Gerar Etiquetas? No momento ele já manda direto para a impressora padrão e não dá a opção de selecionar outra.

 

Também seria possível ele gerar a quantidade exata de etiquetas de acordo com o número de volumes informados? No momento ele gera a mais, com etiquetas em branco.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque o codigo que esta na planilha por este:

 

Fiz uma pequena modificação para que não imprima uma folha em branco.


 

Sub GerarEtiquetas()

Dim WL As Worksheet
Dim ShPI As Worksheet
Dim ShPILinha As Long
Dim WLLinha As Long
Dim Contador As Long
Dim TotalEtiquetas As Long

Set ShPI = Sheets("PRE IMPRESSÃO")
Set WL = Sheets("LAYOUT")
    ShPILinha = ShPI.Range("E" & Rows.Count).End(xlUp).Row
    WLLinha = 6
    
    
    For I = 21 To ShPILinha
    
        TotalEtiquetas = ShPI.Cells(I, 10).Value
        
        If ShPI.Cells(ShPILinha, 11).Value <> "" Then
        
        
        With WL
        
            .Range("D2").Value = ShPI.Cells(I, 8).Value
            .Range("K2").Value = ShPI.Cells(I, 8).Value
            .Range("B4").Value = ShPI.Cells(I, 9).Value
            .Range("I4").Value = ShPI.Cells(I, 9).Value
            .Range("E4").Value = ShPI.Cells(I, 7).Value
            .Range("L4").Value = ShPI.Cells(I, 7).Value
            .Range("B6").Value = ShPI.Cells(I, 5).Value
            .Range("I6").Value = ShPI.Cells(I, 5).Value
            .Range("D6").Value = ShPI.Cells(I, 6).Value
            .Range("K6").Value = ShPI.Cells(I, 6).Value
            .Range("D10").Value = ShPI.Cells(I, 8).Value
            .Range("K10").Value = ShPI.Cells(I, 8).Value
            .Range("B12").Value = ShPI.Cells(I, 9).Value
            .Range("I12").Value = ShPI.Cells(I, 9).Value
            .Range("E12").Value = ShPI.Cells(I, 7).Value
            .Range("L12").Value = ShPI.Cells(I, 7).Value
            .Range("B14").Value = ShPI.Cells(I, 5).Value
            .Range("I14").Value = ShPI.Cells(I, 5).Value
            .Range("D14").Value = ShPI.Cells(I, 6).Value
            .Range("K14").Value = ShPI.Cells(I, 6).Value
            .Range("D18").Value = ShPI.Cells(I, 8).Value
            .Range("K18").Value = ShPI.Cells(I, 8).Value
            .Range("B20").Value = ShPI.Cells(I, 9).Value
            .Range("I20").Value = ShPI.Cells(I, 9).Value
            .Range("E20").Value = ShPI.Cells(I, 7).Value
            .Range("L20").Value = ShPI.Cells(I, 7).Value
            .Range("B22").Value = ShPI.Cells(I, 5).Value
            .Range("I22").Value = ShPI.Cells(I, 5).Value
            .Range("D22").Value = ShPI.Cells(I, 6).Value
            .Range("K22").Value = ShPI.Cells(I, 6).Value
            .Range("D26").Value = ShPI.Cells(I, 8).Value
            .Range("K26").Value = ShPI.Cells(I, 8).Value
            .Range("B28").Value = ShPI.Cells(I, 9).Value
            .Range("I28").Value = ShPI.Cells(I, 9).Value
            .Range("E28").Value = ShPI.Cells(I, 7).Value
            .Range("L28").Value = ShPI.Cells(I, 7).Value
            .Range("B30").Value = ShPI.Cells(I, 5).Value
            .Range("I30").Value = ShPI.Cells(I, 5).Value
            .Range("D30").Value = ShPI.Cells(I, 6).Value
            .Range("K30").Value = ShPI.Cells(I, 6).Value
            .Range("D34").Value = ShPI.Cells(I, 8).Value
            .Range("K34").Value = ShPI.Cells(I, 8).Value
            .Range("B36").Value = ShPI.Cells(I, 9).Value
            .Range("I36").Value = ShPI.Cells(I, 9).Value
            .Range("E36").Value = ShPI.Cells(I, 7).Value
            .Range("L36").Value = ShPI.Cells(I, 7).Value
            .Range("B38").Value = ShPI.Cells(I, 5).Value
            .Range("I38").Value = ShPI.Cells(I, 5).Value
            .Range("D38").Value = ShPI.Cells(I, 6).Value
            .Range("K38").Value = ShPI.Cells(I, 6).Value
            .Range("D42").Value = ShPI.Cells(I, 8).Value
            .Range("K42").Value = ShPI.Cells(I, 8).Value
            .Range("B44").Value = ShPI.Cells(I, 9).Value
            .Range("I44").Value = ShPI.Cells(I, 9).Value
            .Range("E44").Value = ShPI.Cells(I, 7).Value
            .Range("L44").Value = ShPI.Cells(I, 7).Value
            .Range("B46").Value = ShPI.Cells(I, 5).Value
            .Range("I46").Value = ShPI.Cells(I, 5).Value
            .Range("D46").Value = ShPI.Cells(I, 6).Value
            .Range("K46").Value = ShPI.Cells(I, 6).Value
            
        End With
        
            For Contador = 1 To TotalEtiquetas
            
                    WL.Cells(WLLinha, 5).Value = Format(Contador, "000") & "/" & Format(TotalEtiquetas, "000")
                    WL.Cells(WLLinha, 12).Value = Format(Contador + 1, "000") & "/" & Format(TotalEtiquetas, "000")
                
                Contador = Contador + 1
                WLLinha = WLLinha + 8
                
                If Contador Mod (12) = 0 _
                Or Contador = TotalEtiquetas Then
                
                
                    With WL
                        
                        .PrintOut
                        .Range("E6").Value = ""
                        .Range("L6").Value = ""
                        .Range("E14").Value = ""
                        .Range("L14").Value = ""
                        .Range("E22").Value = ""
                        .Range("L22").Value = ""
                        .Range("E30").Value = ""
                        .Range("L30").Value = ""
                        .Range("E38").Value = ""
                        .Range("L38").Value = ""
                        .Range("E46").Value = ""
                        .Range("L46").Value = ""
                
                    End With
                    
                    WLLinha = 6
                
                End If
                
            Next Contador
            
        
        With WL
            On Error Resume Next
            .Protect
            .UsedRange = ""
            On Error GoTo 0
            .Unprotect
        End With
        
        End If
        
    Next I

ShPI.Range("K21:K" & Rows.Count).Value = ""

MsgBox "Etiquetas Impressas Com Sucesso!!", vbInformation, "Imprimindo Etiquetas...."


End Sub

 

Editado por DiF
Insira o código usando o botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei gerar, mas ela não me deixa escolher a impressora, eu fiz igual a postada anteriormente no fórum acima.

 

Consegue deixar igual?

Como no layout para ver a impressão antes e imprimir?

Com este código ela não imprimi uma por folha.

Consegue me ajudar?

Eu já configurei o tamanho para imprimir na zebra, pode ver se consegue deixar o layout como padrão para todas as impressões?

 

Obrigado.

 

 

 

CONTROLE DE ETIQUETAS IMPRESSÃO UNICA FOLHA.zip

Editado por Turco
Limpeza

Compartilhar este post


Link para o post
Compartilhar em outros sites
Citação

Eu tentei gerar, mas ela não me deixa escolher a impressora, eu fiz igual a postada anteriormente no fórum acima.

 

Para escolher a impressora use o codigo abaixo:

Application.Dialogs(xlDialogPrint).Show

Se foi útil, clique em Curtir

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi pessoal alguém consegue fazer a mesma configuração nesta planilha...

Usei como modelo a que o Bassole arrumou.

Alguém consegue me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×