Completar celdas hasta la última fila
Publicado por CyRuS (33 intervenciones) el 01/12/2008 17:53:26
Tengo 5 columnas. 4 de ellas tienen datos hasta la columna 100 (variable) por ejemplo y otra está vacía (la E). Necesito rellenar esa columna desde E2 hasta E100 con la palabra "casa" por ejemplo. Para lo cual primero probé:
- 1 era idea (reemplazar campo vacío por casa)
Columns("E:E").Select
Selection.Replace What:="", Replacement:="casa", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Problema: me detectaba que tenía vacío hasta la fila 65536 (la última de las últimas) en vez de la 100
- 2 idea (contar cuantas filas tiene mi hoja)
Range("A1").Select
numFilas = ActiveSheet.UsedRange.Rows.Count ' me cuenta las filas de la columna A que está llena
UltimaFila = "E" & numFilas
For Each Fila In Range("E2:" & UltimaFila) 'Excepto la primera fila del encabezado
Fila.FormulaR1C1 = "casa"
Next
Problema: me detectaba que tenía vacío hasta la fila 62135 en vez de la 100
- 3 idea (rellenar la columna E utilizando AutoFill)
numFilas = ActiveSheet.UsedRange.Rows.Count 'Me da el nº de filas
UltimaFila = "E" & numFilas
Selection.AutoFill Destination:=Range("E2:" & UltimaFila)
Problema: me da el error 1004. Fallo en el método AutoFill de la clase Range
- 4 idea (ya con ganas de darme por vencido)
Eliminar las filas desde la fila 101 hasta la 65536 y pasar a la primera idea, la de reemplazar el campo "" por "casa". Funciona.
Y yo me pregunto, ¿ por qué me hace esas cosas el Excel? ¿ Cómo puedo solucionar los errores y hacerlo de una manera sencilla?
Muchas gracias,
- 1 era idea (reemplazar campo vacío por casa)
Columns("E:E").Select
Selection.Replace What:="", Replacement:="casa", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
Problema: me detectaba que tenía vacío hasta la fila 65536 (la última de las últimas) en vez de la 100
- 2 idea (contar cuantas filas tiene mi hoja)
Range("A1").Select
numFilas = ActiveSheet.UsedRange.Rows.Count ' me cuenta las filas de la columna A que está llena
UltimaFila = "E" & numFilas
For Each Fila In Range("E2:" & UltimaFila) 'Excepto la primera fila del encabezado
Fila.FormulaR1C1 = "casa"
Next
Problema: me detectaba que tenía vacío hasta la fila 62135 en vez de la 100
- 3 idea (rellenar la columna E utilizando AutoFill)
numFilas = ActiveSheet.UsedRange.Rows.Count 'Me da el nº de filas
UltimaFila = "E" & numFilas
Selection.AutoFill Destination:=Range("E2:" & UltimaFila)
Problema: me da el error 1004. Fallo en el método AutoFill de la clase Range
- 4 idea (ya con ganas de darme por vencido)
Eliminar las filas desde la fila 101 hasta la 65536 y pasar a la primera idea, la de reemplazar el campo "" por "casa". Funciona.
Y yo me pregunto, ¿ por qué me hace esas cosas el Excel? ¿ Cómo puedo solucionar los errores y hacerlo de una manera sencilla?
Muchas gracias,
Valora esta pregunta
0