Macro para eliminar ultimas celdas

23/09/2005 - 04:52 por FeCel | Informe spam
Necesito ayuda para una macro que elimine la última celda de un rango de
filas. El numero de filas es variables, y la posición de la ultima celda
varía en cada fila (puede estar en la columna d,e,f,g o h).
La lista se inicia en A2.
Muchas gracias.
FeCel

Preguntas similare

Leer las respuestas

#1 KL
23/09/2005 - 08:21 | Informe spam
Hola FeCel,

Prueba esto:

Sub test()
Dim UltCelda As Range
On Error Resume Next
Set UltCelda = Intersect( _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn)
If Not (UltCelda Is Nothing Or UltCelda.Row = 1) Then _
UltCelda.EntireRow.Delete
End Sub

Saludos,
KL


"FeCel" wrote in message
news:
Necesito ayuda para una macro que elimine la ultima celda de un rango de
filas. El numero de filas es variables, y la posicion de la ultima celda
varia en cada fila (puede estar en la columna d,e,f,g o h).
La lista se inicia en A2.
Muchas gracias.
FeCel
Respuesta Responder a este mensaje
#2 FeCel
23/09/2005 - 15:14 | Informe spam
KL,
Cargué la macro y no logro que borre la última celda de cada fila. La
ejecuto "paso a paso" y no presenta errores; y veo que se ejecuta pero no veo
la acción "delete" en ninguna celda.
Supongo que actúa sobre la hoja activa; no he revisado si está borrando
celdas en otra hoja.
Saludos
FeCel

"KL" escribió:

Hola FeCel,

Prueba esto:

Sub test()
Dim UltCelda As Range
On Error Resume Next
Set UltCelda = Intersect( _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn)
If Not (UltCelda Is Nothing Or UltCelda.Row = 1) Then _
UltCelda.EntireRow.Delete
End Sub

Saludos,
KL


"FeCel" wrote in message
news:
> Necesito ayuda para una macro que elimine la ultima celda de un rango de
> filas. El numero de filas es variables, y la posicion de la ultima celda
> varia en cada fila (puede estar en la columna d,e,f,g o h).
> La lista se inicia en A2.
> Muchas gracias.
> FeCel



Respuesta Responder a este mensaje
#3 KL
23/09/2005 - 15:30 | Informe spam
Te habia entendido mal. Prueba este codigo:

Sub test()
Dim UFila As Long
On Error Resume Next
UFila = Intersect( _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn).Row
On Error GoTo 0
If UFila > 1 Then
For i = 2 To UFila
Cells(i, Columns.Count).End(xlToLeft).ClearContents
Next i
End If
End Sub

Saludos,
KL


"FeCel" wrote in message
news:
KL,
Cargue la macro y no logro que borre la ultima celda de cada fila. La
ejecuto "paso a paso" y no presenta errores; y veo que se ejecuta pero no
veo
la accion "delete" en ninguna celda.
Supongo que actua sobre la hoja activa; no he revisado si esta borrando
celdas en otra hoja.
Saludos
FeCel

"KL" escribio:

Hola FeCel,

Prueba esto:

Sub test()
Dim UltCelda As Range
On Error Resume Next
Set UltCelda = Intersect( _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn)
If Not (UltCelda Is Nothing Or UltCelda.Row = 1) Then _
UltCelda.EntireRow.Delete
End Sub

Saludos,
KL


"FeCel" wrote in message
news:
> Necesito ayuda para una macro que elimine la ultima celda de un rango
> de
> filas. El numero de filas es variables, y la posicion de la ultima
> celda
> varia en cada fila (puede estar en la columna d,e,f,g o h).
> La lista se inicia en A2.
> Muchas gracias.
> FeCel



Respuesta Responder a este mensaje
#4 FeCel
23/09/2005 - 15:47 | Informe spam
Ahora sí. Está perfecta. La macro anterior parece qure borraba la última
fila. Muchas gracias.
Saludos
Felipe

"KL" escribió:

Te habia entendido mal. Prueba este codigo:

Sub test()
Dim UFila As Long
On Error Resume Next
UFila = Intersect( _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn).Row
On Error GoTo 0
If UFila > 1 Then
For i = 2 To UFila
Cells(i, Columns.Count).End(xlToLeft).ClearContents
Next i
End If
End Sub

Saludos,
KL


"FeCel" wrote in message
news:
> KL,
> Cargue la macro y no logro que borre la ultima celda de cada fila. La
> ejecuto "paso a paso" y no presenta errores; y veo que se ejecuta pero no
> veo
> la accion "delete" en ninguna celda.
> Supongo que actua sobre la hoja activa; no he revisado si esta borrando
> celdas en otra hoja.
> Saludos
> FeCel
>
> "KL" escribio:
>
>> Hola FeCel,
>>
>> Prueba esto:
>>
>> Sub test()
>> Dim UltCelda As Range
>> On Error Resume Next
>> Set UltCelda = Intersect( _
>> Cells.Find("*", Cells(1), xlValues, xlWhole, xlByRows, _
>> xlPrevious).EntireRow, _
>> Cells.Find("*", Cells(1), xlValues, xlWhole, xlByColumns, _
>> xlPrevious).EntireColumn)
>> If Not (UltCelda Is Nothing Or UltCelda.Row = 1) Then _
>> UltCelda.EntireRow.Delete
>> End Sub
>>
>> Saludos,
>> KL
>>
>>
>> "FeCel" wrote in message
>> news:
>> > Necesito ayuda para una macro que elimine la ultima celda de un rango
>> > de
>> > filas. El numero de filas es variables, y la posicion de la ultima
>> > celda
>> > varia en cada fila (puede estar en la columna d,e,f,g o h).
>> > La lista se inicia en A2.
>> > Muchas gracias.
>> > FeCel
>>
>>
>>



Respuesta Responder a este mensaje
#5 KL
23/09/2005 - 15:53 | Informe spam
Hola FeCel,

La macro anterior parece qure borraba la ultima
fila.



Si, es lo que hace :-)

Saludos,
KL
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida