Ausführen mehrerer Makros auf verschiedenen Blättern mit einer Schaltfläche

Ausführen mehrerer Makros auf verschiedenen Blättern mit einer Schaltfläche

Ich habe eines mit 2 Makros:

  • Der erste löscht alle Daten in Tabelle2, Spalte1
  • Der zweite sortiert zwei Spalten in Blatt1 und trägt die Daten in Spalte1 von Blatt2 ein.

Bildbeschreibung hier eingeben

Ich möchte beide mit einem Klick ausführen. Wie mache ich das?

Antwort1

Anhand des beigefügten Screenshots habe ich festgestellt, dass Sie über zwei VBA-Makros verfügen und versuchen, zwei Spalten zu vergleichen und nicht übereinstimmende Werte in ein anderes Blatt zu kopieren.

Hierzu benötigen Sie eine Methode, um zwei Makros zu einem zu kombinieren.

Ich möchte eine Methode vorschlagen, bei der zwei Spalten im Quellblatt auf nicht übereinstimmende Werte verglichen werden und die Daten in ein anderes Blatt kopiert werden.

Das Makro wendet das Farbformat auf die Zeilen an und kehrt nach dem Kopieren das Format für beide Spalten um.

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

Wie es funktioniert:

  • KopierenundPastebeide Codes als Standardmodule.
  • Wählen Sie aus beiden Spalten die Daten aus Sheet 1, die Sie vergleichen möchten.
  • LAUFEN HighlightColumnDifferencesMakro.

Achtung

  • Sie können zum Vergleichen zwei beliebige Spalten auswählen, nicht nur A und B.
  • Sie können Werte für For i = 1 To 10und Sheet NameDatenbereich A1:B10im zweiten Makro anpassen.

verwandte Informationen