Notifications
Clear all

IMPRIMIR COM FORMULÁRIOS A PARTIR DE UMA LISTA SUSPENSA

7 Posts
3 Usuários
0 Reactions
2,158 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

BOM DIA...

Tenho na Pla1 um banco de dados e Pla2 um formulário de orelite que se preenche a partir de uma lista suspensa de nomes de funcionários.
Tenho que imprimir mensalmente todos os orelites e faço isso selecionando um de cada vez. TEM COMO EU MANDAR TODOS PRA IMPRESSORA COM UM SO COMANDO?

ALGUÉM PODE ME AJUDAR NESSE PEQUENO PROBLEMINHA?

 
Postado : 30/01/2012 5:17 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

bom dia!!

seria melhor postar sua planilha, ou dar mais detalhes.

Fonte: http://www.rondebruin.nl/print.htm
Exemplo:

Sub Test()
    Dim Destrange As Range
    Dim Smallrng As Range
    Dim Newsh As Worksheet
    Dim Ash As Worksheet
    Dim Lr As Long

    Application.ScreenUpdating = False

    Set Ash = ActiveSheet
    Set Newsh = Worksheets.Add
    Ash.Select

    Lr = 1

    'You can also use a range with more areas like this
    'For Each smallrng In Ash.Range("A1:C1,D10:G20,A30").Areas

    For Each Smallrng In Selection.Areas
        Smallrng.Copy
        Set Destrange = Newsh.Cells(Lr, 1)
        Destrange.PasteSpecial xlPasteValues
        Destrange.PasteSpecial xlPasteFormats
        Lr = Lr + Smallrng.Rows.Count
    Next Smallrng

    Newsh.Columns.AutoFit

    Newsh.PrintOut

    Application.DisplayAlerts = False
    Newsh.Delete
    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

End Sub
 
Postado : 30/01/2012 5:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia alexandrevba.

Estou enviando a planilha, conforme solicitado.
Observe que na célula B5 da planilha contra cheque tem uma lista que puxa as informações da planilha funcionários.
Tem como eu imprimir todos os contra cheques sem precisar fazer isso um de cada vez?

 
Postado : 30/01/2012 7:31 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Jay, favor ler as regras do forum, e se atentar no item dos anexos, sómente é permiutido "compactados", outra obs, é manter o foco no mesmo tópico e não colocar a mesma duvida em vários tópicos.

Apaguei o tópico repetido e vamos manter o foco neste.

Quanto a usa duvida, crie uma lista com os Nomes e "Nomeie o Range", e depois utilize a rotina da seguinte forma:

Sub PrintLoop()

Dim wsNomes As Worksheet

'Supondo que os nomes com o range nomeado
'estão em uma Aba de nome "Nomes"
Set wsNomes = Worksheets("Nomes") 'geral

    For Each i In wsNomes.Range("MeuRangeNomeado")
        'Altera o nome na celula
        [B47] = i.Value
        
        'Imprime a planilha
        ActiveSheet.PrintOut
    Next i
End Sub

[]s

 
Postado : 30/01/2012 7:44 am
(@jebrito)
Posts: 4
New Member
 

Estou com o mesmo problema, você pode ser mais claro, não entendo de programação, quando tendo executar a macro a apresenta um erro "subscrito fora do intervalo"

Grato

Jeandro

 
Postado : 30/01/2012 12:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Je, espero que seu problema não tnha relacionamento com o que solicitu no tópico abaixo :
Macro Imprimir pdf colocando o nome
viewtopic.php?f=16&t=1046&p=15527#p15527
Pois são situações totalmente diferentes, e o Reinaldo anexou um modelo e explicações, de uma olhada.

Mas, se não tiver nada a ver, eu que peço para detalhar a sua duvida, pois a rotina acima foi construida expecificamente para a duvida do Jaydran, para que a mesma possa ser utilizada em outra planilha temos de ajustar os endereços (Ranges), pois o erro que expecificou "subscrito fora do intervalo" se refere aos mesmos.

[]s

 
Postado : 30/01/2012 12:42 pm
(@felipao)
Posts: 0
New Member
 

Obrigado Mauro, resolvido meu problema

 
Postado : 20/01/2018 11:22 am