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.
  • Avatar do usuário
Por tonilanis
Posts
#7462
Minha pasta de trabalho tem 4 planilhas cujo intervalo de impressão são equivalentes. Para cada uma existe uma macro que efetua uma verificação antes de imprimir. Ela esta ai abaixo para que saiba como está. Meu desejo é reduzir de 4 macros para apenas uma que possa ser executada nas 4 planilhas em questão. Ou seja: desejo que esta macro rode na planilha ativa. Como posso fazer isso?

Sub Verif_e_ImprimeLoja()
' Macro sendo usada para verificar as condições
Dim Msg As Boolean
Dim rng As Range, c As Range
Dim LR As Long
With ActiveSheet
LR = .Cells(Rows.Count, 2).End(xlUp).Row 'define a última linha não vazia
LR = IIf(LR < 7, 7, LR)
Set rng = Range("B7:B" & LR)
Set c = rng.Find("*")
Msg = IIf(Not c Is Nothing, True, False)
Select Case Msg
Case True
Call Print_CX_LOJA ' ** Chama sua Rotina que imprime
Case False
MsgBox "Não há dados a serem impressos", 64, "Atenção"
End Select
End With
End Sub

Private Sub Print_CX_LOJA()
'Macro sendo usada para imprimir

'caminho = Sheets("DadosGerais").Range("F5").Value

caminho = ActiveSheet.Range("E1").Value 'O local onde será salvo
Nome = ActiveSheet.Range("b3").Value ' O nome que o aqrquivo receberá

'Intervalo para impressão inicia em B3, mas só deve ser impresso se alguma célula da coluna B estiver preenchida
Dim LR As Long
With ActiveSheet
LR = .Cells(Rows.Count, 2).End(xlUp).Row 'define a ultima linha nao vazia
LR = IIf(LR < 3, 3, LR) ' se Lr é menor que 3 define Lr com 3
.Range("B3:F" & LR).Select

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
caminho & Nome

Selection.PrintOut From:=1, To:=1, Copies:=1
.Range("A7").Select
End With
End Sub
Avatar do usuário
Por Reinaldo
Avatar
#7471
Sinceridade, não entendi a demanda.
A primeira rotina verifica na planilha ativa se a coluna de B7 à B... tem dado/valores; havendo executa a rotina de impressão na planilha ativa, porem à partir de B3; e salva pdf e imprime.
Então pode ser executada em qualquer planilha desde que tenham o mesmo layout
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