Excel - AYUDA CON MACRO!!!!

 
Vista:

AYUDA CON MACRO!!!!

Publicado por Luis Balcazar (1 intervención) el 21/06/2018 21:53:07
TENGO GRAN PROBLEMA Y NO HE DADO CON LA SOLUCION
TENGO UNA MACRO QUE GENERARA UN DOCUMENTO EN PDF, DE ACUERDO A UN REGISTRO QUE YA ESTA REGISTRADO, LA CUESTION ES QUE DEPENDIENDO DE LA COMBINACIÓN DE BOTONES DE OPCION ACTIVADOS SERA EL DOCUMENTO A CREAR. (2 GRUPOS DE 3 BOTONES CADA UNO) ESO ME DA 9 OPCIONES DE DOCUMENTOS.
LO QUE NO LOGRO ENCONTRAR ES LA MANERA DE DESBLOQUEAR Y BLOQUEAR LA HOJA UTILIZADA, DESPUES DE TERMINADA LA MACRO.
nota: todos los: doc_1,2,3-9 son macros que funcionan bien. (son las q ocultan o hacen visibles las hojas)



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
Sub prueba()
 
Application.ScreenUpdating = False
 
'ESCOJE CUAL SERA LA HOJA PARA CREAR DOCUMENTO
    Select Case True
 
        Case Sheets("captura").OptionButton1.Value And Sheets("captura").OptionButton4.Value
            Set hoja = Sheets("1. cuotas proc")
            y = doc_1 ' HE AQUI EL PROBLEMA
        Case Sheets("captura").OptionButton1.Value And Sheets("captura").OptionButton5.Value
            Set hoja = Sheets("2. cuotas parc")
            y = doc_2
        Case Sheets("captura").OptionButton1.Value And Sheets("captura").OptionButton6.Value
            Set hoja = Sheets("3. cuotas improc")
            y = doc_3
        Case Sheets("captura").OptionButton2.Value And Sheets("captura").OptionButton4.Value
            Set hoja = Sheets("4. rcv proc")
            y = doc_4
        Case Sheets("captura").OptionButton2.Value And Sheets("captura").OptionButton5.Value
            Set hoja = Sheets("5. rcv parc")
            y = doc_5
        Case Sheets("captura").OptionButton2.Value And Sheets("captura").OptionButton6.Value
            Set hoja = Sheets("6. rcv improc")
            y = doc_6
        Case Sheets("captura").OptionButton3.Value And Sheets("captura").OptionButton4.Value
            Set hoja = Sheets("7. rt proc")
            y = doc_7
        Case Sheets("captura").OptionButton3.Value And Sheets("captura").OptionButton6.Value
            Set hoja = Sheets("8. rt parc")
            y = doc_8
        Case Sheets("captura").OptionButton3.Value And Sheets("captura").OptionButton6.Value
            Set hoja = Sheets("9. rt improc")
            y = doc_9
 
    End Select
 
'FOLIO PARA CREAR DOCUMENTO
x = Sheets("Captura").Range("c4").Value
 
'ACTIVA HOJA PARA CREAR DOCUMENTO
y
 
'COPIA EL REGISTRO
Hoja_Registro
Sheets("Registro").Select
Range("a1").Offset(x).Select
Range(Selection, Selection.Offset(0, 35)).Copy
 
'PEGA REGISTRO EN HOJA
hoja.Select
Range("DQ1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
 
'EXPORTA A PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ubicacion, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
 
'DESACTIVA HOJAS
Hoja_Registro
y
 
Application.ScreenUpdating = True
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.173
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

AYUDA CON MACRO!!!!

Publicado por Antoni Masana (1482 intervenciones) el 22/06/2018 08:13:56
Una solución (creo) y algunos cambios.

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
Sub prueba()
    Application.ScreenUpdating = False
    ' ---&--- ESCOJE CUAL SERA LA HOJA PARA CREAR DOCUMENTO
    With Sheets("captura")
        Select Case True
            Case .OptionButton1.Value And .OptionButton4.Value: Set hoja = Sheets("1. cuotas proc"):   Y = 1 ' HE AQUI EL PROBLEMA
            Case .OptionButton1.Value And .OptionButton5.Value: Set hoja = Sheets("2. cuotas parc"):   Y = 2
            Case .OptionButton1.Value And .OptionButton6.Value: Set hoja = Sheets("3. cuotas improc"): Y = 3
            Case .OptionButton2.Value And .OptionButton4.Value: Set hoja = Sheets("4. rcv proc"):      Y = 4
            Case .OptionButton2.Value And .OptionButton5.Value: Set hoja = Sheets("5. rcv parc"):      Y = 5
            Case .OptionButton2.Value And .OptionButton6.Value: Set hoja = Sheets("6. rcv improc"):    Y = 6
            Case .OptionButton3.Value And .OptionButton4.Value: Set hoja = Sheets("7. rt proc"):       Y = 7
            Case .OptionButton3.Value And .OptionButton6.Value: Set hoja = Sheets("8. rt parc"):       Y = 8
            Case .OptionButton3.Value And .OptionButton6.Value: Set hoja = Sheets("9. rt improc"):     Y = 9
        End Select
        ' ---&--- FOLIO PARA CREAR DOCUMENTO
        x = .Range("c4").Value
    End With
    ' ---&--- ACTIVA HOJA PARA CREAR DOCUMENTO
    Select Case Y
        Case 1: Call doc_1
        Case 2: Call doc_2
        Case 3: Call doc_3
        Case 4: Call doc_4
        Case 5: Call doc_5
        Case 6: Call doc_6
        Case 7: Call doc_7
        Case 8: Call doc_8
        Case 9: Call doc_9
    End Select
    ' ---&--- COPIA EL REGISTRO
    Hoja_Registro
    Sheets("Registro").Select
    Range("a1").Offset(x).Select
    Range(Selection, Selection.Offset(0, 35)).Copy
    ' ---&--- PEGA REGISTRO EN HOJA
    hoja.Select
    Range("DQ1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Application.CutCopyMode = False
    ' ---&--- EXPORTA A PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:=ubicacion, _
                                    Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=True
    ' ---&--- DESACTIVA HOJAS
    Hoja_Registro
    Select Case Y
        Case 1: Call doc_1
        Case 2: Call doc_2
        Case 3: Call doc_3
        Case 4: Call doc_4
        Case 5: Call doc_5
        Case 6: Call doc_6
        Case 7: Call doc_7
        Case 8: Call doc_8
        Case 9: Call doc_9
    End Select
    Application.ScreenUpdating = True
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar