Sacar merito en excel de forma que no saltee puestos

Para Dante Amor

Como aplico la macro para los bimestres 2, 3, y 4

1 Respuesta

Respuesta
1

Copia la macro en cada una de las hojas II, III y IV

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 100 Then Exit Sub
    If Not Intersect(Target, Range("C:AE")) Is Nothing Then
        Application.ScreenUpdating = False
        Set h1 = ActiveSheet
        Set h2 = Sheets("Hoja2")
        h2.Cells.ClearContents
        u = h1.Range("B" & Rows.Count).End(xlUp).Row
        h1.Range("AH6:AH" & u).Copy
        h2.Range("B1").PasteSpecial xlValues
        u2 = h2.Range("B" & Rows.Count).End(xlUp).Row
        With h2.Sort
            .SortFields.Clear
            .SortFields.Add Key:=h2.Range("B1"), SortOn:=xlSortOnValues, _
                Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange h2.Range("B1:B" & u2)
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        h2.[C1] = h2.[B1]
        With h2.Range("C2:C" & u2)
            .FormulaR1C1 = "=IF(R[-1]C[-1]=RC[-1],R[-1]C,R[-1]C+1)"
            .Value = .Value
        End With
        h2.Range("B1:C" & u2).RemoveDuplicates Columns:=1, Header:=xlNo
        u2 = h2.Range("B" & Rows.Count).End(xlUp).Row
        For i = 1 To u2
            Set r = h1.Range("AH6:AH" & u)
            Set b = r.Find(h2.Cells(i, "B"), lookat:=xlWhole, LookIn:=xlValues)
            If Not b Is Nothing Then
                celda = b.Address
                Do
                    'detalle
                    h1.Cells(b.Row, "AI") = h2.Cells(i, "C")
                    Set b = r.FindNext(b)
                Loop While Not b Is Nothing And b.Address <> celda
            End If
        Next
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(II BIM)
  4. En el panel del lado derecho copia la macro

Realiza los pasos anteriores para las hojas III BIM y IV BIM


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias!

Osea solo pego la macro. ¿El tema con la hoja NO TOCAR donde la macro hace sus cálculos no altera en nada el resultado para cada BIMESTRE?

Así es, pon la macro en cada hoja, en la hoja "no tocar" no pongas la macro, solamente en las hojas de los bimestres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas