Ayuda con este codigo

10/10/2006 - 00:02 por Isrrael | Informe spam
Hola a todos!,
Bueno, después de estar pensando como hacer para borrar todas las filas en
la hoja activa que contengan una palabra en específico me ayudé con este
código:

Sub Prueba_dos_borrar_PODs()
Cells.Find(What:="POD", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=True). _
Activate
Rows("2:2").Select
Range("D2").Activate
Selection.Delete Shift:=xlUp
Range("B2").Select
End Sub

Pero como siempre eso es una constante..., y necesito que si en la columna D
tiene la palabra POD borre toda la fila, ya sea, sólo 1 o 30, y no
necesariamente deberían estar en 2:2.
Saludos y gracias anticipadas
Isrrael

Preguntas similare

Leer las respuestas

#1 KL
10/10/2006 - 00:22 | Informe spam
Algo asi ???

Sub Creating_New_Sheet()
Application.ScreenUpdating = False
Sheets(ActiveSheet.Name).Copy After:=ActiveSheet
With ActiveSheet.Range("D:D")
On Error Resume Next
Do
.Find _
(What:="pod", _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).EntireRow.Delete
Loop Until Err.Number <> 0
End With
End Sub


Saludos,
KL


"Isrrael" wrote in message news:uosSH6%
Hola a todos!,
Bueno, después de estar pensando como hacer para borrar todas las filas en la hoja activa que contengan una palabra en específico
me ayudé con este código:

Sub Prueba_dos_borrar_PODs()
Cells.Find(What:="POD", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True). _
Activate
Rows("2:2").Select
Range("D2").Activate
Selection.Delete Shift:=xlUp
Range("B2").Select
End Sub

Pero como siempre eso es una constante..., y necesito que si en la columna D tiene la palabra POD borre toda la fila, ya sea, sólo
1 o 30, y no necesariamente deberían estar en 2:2.
Saludos y gracias anticipadas
Isrrael

Respuesta Responder a este mensaje
#2 Isrrael
10/10/2006 - 01:33 | Informe spam
KL, mil gracias!
la verdad es que me estoy a poyando con "grabar macro"
Por eso es que los codigos estan asi.
Como siempre, funciona perfecto!, por cierto, de que pais eres?, spanish?,
mexican?,
Saludos y gracias nuevamente
Isrrael
"KL" wrote in message
news:u8XozF$
Algo asi ???

Sub Creating_New_Sheet()
Application.ScreenUpdating = False
Sheets(ActiveSheet.Name).Copy After:=ActiveSheet
With ActiveSheet.Range("D:D")
On Error Resume Next
Do
.Find _
(What:="pod", _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).EntireRow.Delete
Loop Until Err.Number <> 0
End With
End Sub


Saludos,
KL


"Isrrael" wrote in message
news:uosSH6%
Hola a todos!,
Bueno, después de estar pensando como hacer para borrar todas las filas
en la hoja activa que contengan una palabra en específico me ayudé con
este código:

Sub Prueba_dos_borrar_PODs()
Cells.Find(What:="POD", After:=ActiveCell, LookIn:=xlValues, LookAt:=
_
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=True). _
Activate
Rows("2:2").Select
Range("D2").Activate
Selection.Delete Shift:=xlUp
Range("B2").Select
End Sub

Pero como siempre eso es una constante..., y necesito que si en la
columna D tiene la palabra POD borre toda la fila, ya sea, sólo 1 o 30, y
no necesariamente deberían estar en 2:2.
Saludos y gracias anticipadas
Isrrael




Respuesta Responder a este mensaje
#3 KL
10/10/2006 - 02:10 | Informe spam
Como siempre, funciona perfecto!, por cierto, de que pais eres?, spanish?,
mexican?,



Soy ruso viviendo en Espana.

Saludos,
KL
Respuesta Responder a este mensaje
#4 Isrrael
10/10/2006 - 04:49 | Informe spam
Pues mucho gusto, soy mexicano 100%.
Pasando a otra cosa, como podria hacerle para que, despues de ordenar
previamente el listado y dejando "juntas" todas las filas que dicen POD se
ejecute mas rapido la macro?.

Saludos!
Isrrael

"KL" wrote in message
news:%
Como siempre, funciona perfecto!, por cierto, de que pais eres?,
spanish?, mexican?,



Soy ruso viviendo en Espana.

Saludos,
KL
Respuesta Responder a este mensaje
#5 KL
10/10/2006 - 10:33 | Informe spam
Hola Isrrael,

Lo mas rapido que puedes hacer es usar el Filtro Avanzado (incluso con 50000 registros llevara menos de un segundo). Aqui va un
ejemplo:

Sub test()
Dim datos As Worksheet
Set datos = ActiveSheet
Application.ScreenUpdating = False
Worksheets.Add after:=ActiveSheet
With ActiveSheet
.[A1] = datos.[D1]
.[A2] = "<>*POD*"
datos.UsedRange.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.[A1:A2], _
CopyToRange:=Range("A3")
.[1:2].Delete
End With
End Sub

Saludos,
KL


"Isrrael" wrote in message news:
Pues mucho gusto, soy mexicano 100%.
Pasando a otra cosa, como podria hacerle para que, despues de ordenar previamente el listado y dejando "juntas" todas las filas
que dicen POD se ejecute mas rapido la macro?.

Saludos!
Isrrael

"KL" wrote in message news:%
Como siempre, funciona perfecto!, por cierto, de que pais eres?, spanish?, mexican?,



Soy ruso viviendo en Espana.

Saludos,
KL




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida