Error en macro que exporta a PDF con IF
Publicado por Roberto Carlos (3 intervenciones) el 25/11/2018 21:52:12
Hola compañeros, buenas tardes. LLevo 2 semanas dándole vuelta a la sintaxis de una macro, no soy informático asi que me he ido puros tutoriales de youtube: el objetivo es imprimir en pdf una pestaña dependiendo dell número de una celda asi si el número es 2 imrpime la pestaña Resumen2, y asi, lo hice con IF pero siempre me da error:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Sub Imprimir()
Dim ruta As String
Dim hoja As Worksheet
Dim num As Integer
Application.ScreenUpdating = False
num = Range("d23")
ruta = ThisWorkbook.Path & "\"
Sheets("Cotizador").Visible = True
If num = 4 Then
hoja = Sheets("Resumen4")
Sheets("Resumen4").Activate
hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Resumen4").Visible = False
Else
If num = 3 Then
hoja = Sheets("Resumen3")
Sheets("Resumen3").Activate
hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Resumen3").Visible = False
Else
If num = 2 Then
hoja = Sheets("Resumen2")
Sheets("Resumen2").Activate
hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Resumen2").Visible = False
Else
If Range("d23") = 1 Then
hoja = Sheets("Resumen1")
Sheets("Resumen1").Activate
hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Resumen1").Visible = False
Else
'Si no hay datos que no Imprimima y que continue
MsgBox "La hoja no se puede Imprimir", vbQuestion, "gracias"
End If
End If
End If
End If
'-------------------------------------------------------
Application.ScreenUpdating = True
End Sub
Valora esta pregunta
0