Запуск нескольких макросов на разных листах с помощью одной кнопки

Запуск нескольких макросов на разных листах с помощью одной кнопки

У меня есть один с 2 макросами:

  • Первый удаляет все данные на листе 2, столбце 1.
  • Второй сортирует два столбца на листе sheet1 и помещает данные на лист sheet2 column1.

введите описание изображения здесь

Я хотел бы запустить их оба одним щелчком. Как это сделать?

решение1

На основе приложенного снимка экрана я обнаружил, что у вас есть два макроса VBA, и вы пытаетесь сравнить два столбца и скопировать несовпадающие значения на другой лист.

Для этого вам понадобится метод объединения двух макросов в один.

Я хотел бы предложить метод, который сравнит два столбца в исходном листе на предмет несовпадающих значений и скопирует данные в другой лист.

Макрос применит цветовой формат к строкам, а после копирования изменит формат на противоположный для обоих столбцов.

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

Как это работает:

  • Копировать&Вставитьоба кода являются стандартными модулями.
  • Выберите данные из обоих столбцов Sheet 1, которые вы хотите сравнить.
  • БЕГАТЬ HighlightColumnDifferencesМакро.

Примечание.

  • Вы можете выбрать любые два столбца для сравнения, а не только A и B.
  • Вы можете настроить значения для For i = 1 To 10и Sheet Nameдиапазона данных A1:B10во втором макросе.

Связанный контент