Macro para insertar fila según condición

Ingeniero Dante Amor

Feliz de siempre contar con su ayuda, me podría ayudar con una macro para insertar fila si encuentra una palabra en especial, lo he intentado con el código que abajo muestro pero me inserta una fila por cada palabra encontrada y la idea es que separe el grupo para sumar por grupo o categoría

   For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Cells(i, "A").Value = "TELA" Then 
            Rows(i).Insert
        End If
    Next

1 respuesta

Respuesta
5

Intenta con la funcionalidad de excel: Subtotal.

- Selecciona los datos.

- Del Menú Datos, selecciona la opción Subtotal:

Hay alguna manera con vba?  ya lo llevo como parte de un proyecto 

Hay varias maneras de hacerlo con VBA.

En los datos originales, ¿tienes fórmulas?

Los resultados con sumas, ¿los quieres en la misma hoja?

No hay fórmulas

Los resultados con sumas, ¿los quieres en la misma hoja?

Si es posible si, tal como se ve en la imagen de resultado deseado, gracias

Te paso la macro:

Sub subtotales()
  Dim i As Long, ini As Long, fin As Long
  Dim ant As String
  Dim una As Boolean
  Dim subt As Double
  '
  Application.ScreenUpdating = False
  '
  ant = ""
  una = True
  For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
    If una Then
      fin = i
      una = False
    Else
      If ant <> Range("A" & i).Value Then
        Range("C" & fin + 1).Value = subt
        Rows(i + 1).Resize(2).Insert
        fin = i
        subt = 0
      End If
    End If
    subt = subt + Range("C" & i).Value
    ant = Range("A" & i).Value
  Next
  '
  Range("C" & fin + 1).Value = subt
End Sub

[no olvides valorar la macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas