Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#62782
Prezados, muito prazer

Estou com um problema aqui, espero que possam me ajudar.

Tenho um pequeno banco de dados de funcionários, que vai girar em torno de 50 a 100 registros (pode aumentar mais que isso, mas é pouco provável). O arquivo neste momento é composto de 2 planilhas, sendo:
PLANILHA1 = Banco de Dados
PLANILHA2 = Formulário padrão

Eu gostaria de poder escolher no banco de dados (Coluna A), quais registros deverão ser impressos, mantendo o layout padrão do formulário. Hoje se desejo imprimir apenas 1 registro, basta eu inserir o código do funcionário lá no formulário, ele puxa os dados via PROCV e pronto, mando imprimir. Mas e para fazer isso com 10, 15, ou até mesmo todos de uma única vez?

Vou anexar um arquivo para visualizarem melhor o que falei acima.

Grato
Você não está autorizado a ver ou baixar esse anexo.
#62787
#
Experimente:
Código: Selecionar todos
Sub ImprimePlan2()
 Dim c As Range
  For Each c In Range("A4:A" & Cells(Rows.Count, 1).End(3).Row).SpecialCells(xlCellTypeConstants)
   If c.Value = "X" Then Sheets("Planilha2").[H9] = c.Offset(, 1).Value: Sheets("Planilha2").PrintOut
  Next c
End Sub
fernandogaseo agradeceu por isso
#62790
Olá, Fernando.
Que bom que resolveu.

Valeu pelo retorno e pelas palavras. :)
fernandogaseo agradeceu por isso
#62810
Oi Osvaldo, boa tarde

Sem querer abusar, mas já abusando, rsrs... caso o usuário não selecione nenhum registro, como fazer para exibir a msg: "Você deve selecionar no mínimo 1 registro para prosseguir".

Se puder me ajudar com isso, vai completar a rotina.

Obrigado
#62811
#
Olá, Fernando.
No código abaixo acrescentei as linhas 3 a 5.
Código: Selecionar todos
Sub ImprimePlan2()
 Dim c As Range
  If Application.CountIf([A:A], "X") = 0 Then
   MsgBox "Você deve selecionar no mínimo 1 registro para prosseguir": Exit Sub
  End If
  For Each c In Range("A4:A" & Cells(Rows.Count, 1).End(3).Row).SpecialCells(xlCellTypeConstants)
   If c.Value = "X" Then Sheets("Planilha2").[H9] = c.Offset(, 1).Value: Sheets("Planilha2").PrintOut
  Next c
End Sub
fernandogaseo agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord