Excel - MACRO PARA ELIMINAR CELDAS SEGÚN CRITERIO ESPECIFICO

   
Vista:

MACRO PARA ELIMINAR CELDAS SEGÚN CRITERIO ESPECIFICO

Publicado por Jefferson (5 intervenciones) el 04/05/2017 19:01:45
Mucha@s

tengo el siguiente código:

1
2
3
4
5
6
7
8
9
Sub elimnar_celdas_filas_vacias()
Dim tipo As Integer
Dim criterio As String
Dim check As Boolean
Dim celda As Range
Set Rng = Application.InputBox(prompt:="seleccione la celda inicial donde empieza su lista de datos", Type:=8)
 
tipo = Application.InputBox(prompt:="Escriba 1: Eliminar celdas si CONTIENE" & Chr(13) & "Escriba 2: Eliminar celdas si es IGUAL A" & Chr(13) & "Si desea eliminar las celdas vacías opcion 2", Type:=1, Title:="ELIMINAR SEGÚN CRITERIOS")
criterio = Application.InputBox(prompt:="Escriba el criterio que se usará para eliminar las celdas" & Chr(13) & "Para eliminar las celdas vaciías deje en blanco este recuadro", Type:=2)

line1:

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
For Each celda In Range(Rng.Address, Cells(Rows.Count, Rng.Column).End(xlUp).Address)
 
Select Case tipo
Case 2
 
If celda = criterio Then
celda.EntireRow.Delete
GoTo line1
End If
Case 1
 
If celda.Row <> Rng.Row And InStr(UCase(celda.Value), UCase(criterio)) Then
'celda.Offset(0, 1).Value = "ELIMINAR"
celda.EntireRow.Delete
GoTo line1
Else
'celda.Offset(0, 1).Value = "NO ELIMINAR"
End If
 
End Select
Next
End Sub
 
Sub abrir()
Application.OnKey "{f3}", "elimnar_celdas_filas_vacias"
End Sub

que lo que hace es básicamente es:
1. pregunta la celda inicial donde empieza su lista de datos.
2. pregunta si las celdas iguales a: "xvalor" (opcion 2)

¿Cómo hago para (sin que me pregunte) Elimine las celdas iguales a “Xvalor” de la columna A… osea:
La celda inicial donde empieza la lista de datos es A1 . (POSICIÓN ESTÁTICA)
Eliminar celdas si es IGUAL A “X” (OPCIÓN 2)
El criterio que se usará para eliminar las celdas: “X” (YA DEFINIDO DESDE EL CÓDIGO)

en otras palabras no quiero que pregunte nada.

muchas gracias.
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

MACRO PARA ELIMINAR CELDAS SEGÚN CRITERIO ESPECIFICO

Publicado por Jefferson (5 intervenciones) el 04/05/2017 21:03:34
He logrado esto... pero como hago para que me elimine únicamente la celda y no la fila?

1
2
3
4
5
6
7
8
9
10
11
12
Sub eliminar()
    Dim f As New Collection
    Sheets("Hoja1").Select
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If UCase(Cells(i, "M")) = "BAJA" And Cells(i, "A") = 1 Then
            f.Add i
        End If
    Next
    For i = f.Count To 1 Step -1
        Rows(f(i)).Delete            'únicamente la fila
    Next
End Sub
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

MACRO PARA ELIMINAR CELDAS SEGÚN CRITERIO ESPECIFICO

Publicado por Jefferson (5 intervenciones) el 05/05/2017 14:55:04
únicamente la celda, perdón.
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