Visual Basic para Aplicaciones - Error 13 que da macro al ejecutarla

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 10 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Error 13 que da macro al ejecutarla

Publicado por Jose Luis (3 intervenciones) el 01/04/2021 15:04:04
Esta macro fue elaborada por un amigo hace tiempo, aclaro estoy entrando al mundo de las macros, soy CP y tengo 76 años y soy apasionado de excel y tratando de aprender VBA.
Así que disculpen si estoy preguntando algo trivial. Pero no se como corregir el error 13 que da macro al ejecutarla.
Saludos.
JL
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: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Error 13 que da macro al ejecutarla

Publicado por Antoni Masana (498 intervenciones) el 01/04/2021 15:39:10
Deberias subir el libro al foro.
Quizás el más adecuado sea el de Excel o Visual Basic para Aplicaciones o en este mismo aunque este no es tanto de Excel.

Deberias poner un explicación de cual y donde da el error la macro para poder ayudarte.

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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Error 13 que da macro al ejecutarla

Publicado por Antoni Masana (498 intervenciones) el 01/04/2021 17:53:50
Esta es la macro que funciona este donde este la columna.

Busca en la fila 6 la columna que tenga un 0 o un 1, también se puede poner en la fila 4 un texto identificativo de color blanco para ocultarlo y buscar ese texto.

De todas formas la macro original no funcionaba bien del todo, ocultaba algunas filas que no tenía que ocultar.

Adjunto libro.

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
Option Explicit
 
Sub Ocultar()
    Dim Columna_Control As Integer, Fila As Long
 
    Application.ScreenUpdating = False:
 
    Call Mostrar
 
    ' ---&--- Busca en la fila 6 la columna que tenga un 0 o un 1
 
    Columna_Control = 6
    Do Until Cells(5, Columna_Control) = "0" Or Cells(5, Columna_Control) = "1"
        Columna_Control = Columna_Control + 1
    Loop
 
    ' ---&--- Esconde las filas
 
    Fila = 5
    While Cells(Fila, "A") <> ""
        If Cells(Fila, Columna_Control) = "0" Then
            Rows(Fila & ":" & Fila).Select
            Selection.EntireRow.Hidden = True
        End If
        Fila = Fila + 1
    Wend
    Application.ScreenUpdating = True
End Sub
 
Sub Mostrar()
    Range([A1], Cells(Rows.Count, "G").End(xlUp).Offset(100)).EntireRow.Hidden = False
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
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Error 13 que da macro al ejecutarla

Publicado por Antoni Masana (498 intervenciones) el 01/04/2021 20:09:28
El fallo es la macro original esta en el 100. Si pones 999 hace hasta la fila 999

1
2
3
Sub Mostrar()
    Range([A1], Cells(Rows.Count, "G").End(xlUp).Offset(100)).EntireRow.Hidden = False
End Sub


Aquí tiene las dos macros correctas:

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
Option Explicit
 
Sub Ocultar()
    Dim Columna_Control As Integer, Fila As Long
 
    Application.ScreenUpdating = False:
 
    Call Mostrar
 
    ' ---&--- Busca en la fila 6 la columna que tenga un 0 o un 1
 
    Columna_Control = 6
    Do Until Cells(5, Columna_Control) = "0" Or Cells(5, Columna_Control) = "1"
        Columna_Control = Columna_Control + 1
    Loop
 
    ' ---&--- Esconde las filas
 
    Fila = 5
    While Cells(Fila, "A") <> ""
        If Cells(Fila, Columna_Control) = "0" Then
            Rows(Fila & ":" & Fila).Select
            Selection.EntireRow.Hidden = True
        End If
        Fila = Fila + 1
    Wend
    Application.ScreenUpdating = True
End Sub
 
Sub Mostrar()
    Dim Columna_Control As Integer, Fila As Long
 
    Application.ScreenUpdating = False:
 
    ' ---&--- Busca en la fila 6 la columna que tenga un 0 o un 1
 
    Columna_Control = 6
    Do Until Cells(5, Columna_Control) = "0" Or Cells(5, Columna_Control) = "1"
        Columna_Control = Columna_Control + 1
    Loop
 
    ' ---&--- Esconde las filas
 
    Fila = 5
    While Cells(Fila, "A") <> ""
        Rows(Fila & ":" & Fila).Select
        Selection.EntireRow.Hidden = False
        Fila = Fila + 1
    Wend
    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