Valor de celda como variable de macro

Tengo una planilla en donde puedo tener de 150 a 250 filas con valores y necesito ocultar las que no estén llenas. Para eso utilizo este código que funciona bien:

ActiveSheet.Rows("1:250").Hidden = False

For f = 1 To 250

If Cells(f, 1).Value = "" Then Cells(f, 1).EntireRow.Hidden = True

Next

Ahora, quiero hacer lo mismo para una cantidad de filas variables, es decir que puedo tener de 20 a 5000 filas pero no quiero dejar esos 5000 en el código porque se tarda en procesar. ¿Existe una manera de que en una celda, por ejemplo R1 ponga la cantidad de filas que tengo y que me modifique el código? Traté de hacerlo con una variable llamada “datos” pero no funciona, dice que no coinciden los tipos en ActiveSheet. Rows

Gracias de antemano!

datos = Range("R1").Value

ActiveSheet.Rows("10:datos").Hidden = False

For f = 10 To datos

If Cells(f, 1).Value = "" Then Cells(f, 1).EntireRow.Hidden = True

Next

1 Respuesta

Respuesta
1

Determina la ultima fila con dato, este código determina la ultia fila de la columna A, debes hacer un bucle hasta esa fila:

uf = Sheet("myhoja").Range("A" & Rows.Count).End(xlUp).Row

el codigo quedaría asi:

uf = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

For f = 1 To uf

If Cells(f, 1).Value = "" Then Cells(f, 1).EntireRow.Hidden = True

Next

https://youtu.be/_XegDeHiORc

https://youtu.be/Z9Rv4Y-cF24

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas