Jump to content

Macro para eliminar filas con texto específico


Go to solution Solved by CSI1981,

Recommended Posts

Buenas tardes, tengo una planilla en donde voy trayendo datos de otras planillas (copio y pego) una vez que ya tengo toda la información, necesito que mediante una macro/formula se eliminen todas las filas en donde el primer dato (ubicado en la columna A) tiene el siguiente texto: QHP Standard 1,QHP Standard 2, QHP Standard 3, QHP Standard 4 y QHP Standard 5.

He aplicado la siguiente Macro, pero no se como unificar que evalúe las 5 variables, por lo que he tenido que hacer 5 macros, y después hacer una para unirlas a todas. Quisiera saber si existe la posibilidad de hacer solo una y que tome las 5 variables de texto posible

 

Sub Eliminar_Filas_1()

Sheets("Resultados exportados").Select
col = "A"
texto = "QHP Standard 1"

'
valor = texto
If IsNumeric(texto) Then valor = Val(texto)
If IsDate(texto) Then valor = CDate(texto)
'
Application.ScreenUpdating = False
For i = Range(col & Rows.Count).End(xlUp).Row To 1 Step -1
If LCase(Cells(i, "A")) = LCase(valor) Then
Rows(i).Delete
End If
Next
Application.ScreenUpdating = True
MsgBox "Filas eliminadas", vbInformation, "DAM"

End Sub

 

Desde ya muchas gracias

Link to post
Share on other sites
Sub Eliminar_Filas_1()
Dim Filas As Integer
Application.ScreenUpdating = False
Sheets("Resultados exportados").Select
col = "A"
texto = Array( _
            "QHP Standard 1", _
            "QHP Standard 2", _
            "QHP Standard 3", _
            "QHP Standard 4", _
            "QHP Standard 5")
Application.ScreenUpdating = False
For i = Range(col & Rows.Count).End(xlUp).Row To 1 Step -1
   For t = 0 To UBound(texto)
      If LCase(Cells(i, col)) = LCase(texto(t)) Then
         Filas = Filas + 1
         Rows(i).Delete
         Exit For
      End If
   Next
Next
Application.ScreenUpdating = True
MsgBox Filas & " Filas eliminadas", vbInformation, "DAM"
End Sub

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • saludos  esta perfecto tu ejemplo. me sirve de mucho. ahora otra duda como se podría aplicar este mismo ejemplo pero con los datos de una tabla dinámica. ya que esa formula es con celdas fijas.  pero como lo aplico a una tabla  para sacar el porcentaje de lo que he avanzado  si cuando actualizo la tabla me da error.  gracias   
    • muchas  gracias  esta perfecto
    • @Gerson PinedaMuchas gracias.  Os lo agradezco a los dos, me va a ir bien cualquiera de las fórmulas. Y sino en este fichero en otro con la misma situación. Moisés.
    • cuando grabas una entra o salida se redondea el numero en la existencia ejemplo si vendes 1.5 en existencia descuenta 2  igual si es una compra
    • Private Sub CommandButton11_Click() Dim Descarga As Range Set Descarga = Sheets("Hoja2").Columns("C").Find(TextBox2, lookat:=xlWhole) If Not Descarga Is Nothing Then Descarga.EntireRow.Delete CommandButton6_Click End If End Sub '--------- Private Sub CommandButton6_Click() TextBox2.Text = "" TextBox12.Text = "" TextBox13.Text = "" TextBox14.Text = "" TextBox15.Text = "" TextBox16.Text = "" TextBox17.Text = "" TextBox18.Text = "" TextBox19.Text = "" TextBox20.Text = "" TextBox23.Text = "" '<-------------------- estaba mal TextBox2.SetFocus ' EL SetFocus devuelve el cursor al inicio End Sub  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy