Boa noite. Minha situação em Excel/VBA:
1 - arquivo "cadastrar paciente.xls" contendo uma única planilha: "cadastrar paciente" e duas macros: "gravar paciente" e "imprimir ficha paciente"
2 - arquivo "cadastro pacientes.xls" contendo duas planilhas: "cadastro pacientes" e "agenda"
3 - após abrir "cadastro pacientes.xls", digito alguns dados na planilha "cadastrar paciente"
4 - executo a macro "gravar paciente" (em "cadastrar paciente.xls"), para gravar os referidos dados na planilha "cadastro pacientes" (no outro arquivo "cadastro pacientes.xls")
5 - a macro "imprimir ficha paciente" foi gravada objetivando imprimir um bloco de células da planilha "cadastrar paciente" (em "cadastrar paciente.xls")
Sub imprimir_ficha_paciente()
' selecionar dados para impressão da ficha do paciente
Range("G4:H22").Select
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.511811023622047)
.RightMargin = Application.InchesToPoints(0.511811023622047)
.TopMargin = Application.InchesToPoints(0.78740157480315)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
End Sub
6 - a macro "imprimir ficha paciente" (em "cadastrar paciente.xls") nem começa a imprimir: ela abre a planilha "cadastro pacientes" existente no outro arquivo ("cadastro pacientes.xls), e nada mais acontece
Aparentemente, o GPS do meu Excel/VBA está mal calibrado ... minha macro para impressão não consegue endereçar a planilha correta ("cadastrar paciente") no arquivo correto ("cadastrar paciente.xls").
Agradeço por ajudar-me a resolver este problema !
Postado : 25/05/2015 5:18 pm