Ejecutar múltiples macros en diferentes hojas con un solo botón

Ejecutar múltiples macros en diferentes hojas con un solo botón

Tengo uno con 2 macros:

  • El primero elimina cualquier dato en la hoja 2, columna 1.
  • El segundo ordena dos columnas en la hoja 1 y coloca los datos en la columna 1 de la hoja 2.

ingrese la descripción de la imagen aquí

Me gustaría ejecutarlos a ambos con un solo clic. ¿Cómo hago esto?

Respuesta1

Según la captura de pantalla adjunta, descubrí que tiene dos macros de VBA y está intentando comparar dos columnas y copiar valores no coincidentes en otra hoja.

Para esto necesitas un método para combinar dos macros en una.

Me gustaría sugerir un método, compararé dos columnas en la hoja de origen para obtener un valor incomparable y copiar los datos en otra hoja.

La macro aplicará el formato de color en las filas y, después de copiar, invertirá el formato de ambas columnas.

Sub HighlightColumnDifferences()

    Dim bothcolumns As Range, i As Integer

    Set bothcolumns = Selection

    With bothcolumns

        For i = 1 To .Rows.Count

            If Not StrComp(.Cells(i, 1), .Cells(i, 2), vbBinaryCompare) = 0 Then

                Range(.Cells(i, 1), .Cells(i, 2)).Interior.ColorIndex = 6

            End If

        Next i

    End With

Call Copy
Application.CutCopyMode = False


End Sub

Sub Copy()

    Dim i As Long

    For i = 1 To 10
        If Sheets("Sheet1").Range("A" & i).Interior.ColorIndex = xlNone Then
            Range("A" & i).Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End If
        If Sheets("Sheet1").Range("B" & i).Interior.ColorIndex = xlNone Then
            Range("B" & i).Copy Destination:=Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Offset(1)
        End If
    Next i

    Worksheets("Sheet1").Activate
    Range("A1:B10").ClearFormats
    Application.CutCopyMode = False

End Sub

Cómo funciona:

  • Copiar&Pegartanto Código como Módulo Estándar.
  • Seleccione Datos de ambas columnas Sheet 1que desea comparar.
  • CORRER HighlightColumnDifferencesMacro.

NÓTESE BIEN

  • Puede seleccionar dos columnas cualesquiera para comparar en lugar de solo A y B.
  • Puede ajustar los valores de For i = 1 To 10y Sheet Nameel rango de datos A1:B10en la segunda macro.

información relacionada