Хотите добавить еще два условия в мою кодировку Excel VBA

#excel #vba

#excel #vba

Вопрос:

Что я хочу добавить, так это.. Макрос должен удалить старый из «Основного» листа и обновить лист1, лист2 и лист3

 Sub Combine3Sheet()

    Dim Ary As Variant
    Dim Ws As Worksheet

    Ary = Array("Sheet1", "Sheet2", "Sheet3")
    Sheets("Master").Name = "Master"

    For Each Ws In Worksheets(Ary)
        Ws.UsedRange.Offset(1).Copy Sheets("Master") _
        .Range("A" amp; Rows.Count).End(xlUp).Offset(1)

        Application.DisplayAlerts = False
        Application.DisplayAlerts = True

        Call Formatting

    Next Ws

End Sub
  

Комментарии:

1. Просто исправил формат кодирования .. извините за неудобства

Ответ №1:

Вы имеете в виду это? Удалите данные на главном сервере перед их вставкой?

(Также прекратите вносить изменения в свой пост)

 Sub Combine3Sheet()
    Dim Ary As Variant
    Dim Ws As Worksheet
    Ary = Array("Sheet1", "Sheet2", "Sheet3")
    'Refresh all sources/Tables
    ThisWorkbook.RefreshAll
    'Clear All but first Row
    Sheets("Master").Rows("2:" amp; Rows.Count).ClearContents
    'Loop sheets
    For Each Ws In Worksheets(Ary)
        Ws.UsedRange.Offset(1).Copy
        Sheets("Master").Range("A" amp; Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
        Call Formatting
    Next Ws
End Sub
  

Комментарии:

1. Хорошо .. я позабочусь об этом, спасибо! Да, вы поняли, однако хотите добавить и второе условие, оно также должно обновить Лист2, Лист2, Лист3

2. Под обновлением вы подразумеваете их очистку после того, как они будут вставлены в Master?

3. Это будет работать шаг за шагом .. сначала он должен обновить данные в листах 1, лист2 и лист3.. затем он очистит данные из основного листа, а затем объединит лист1, лист2 и лист3

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

5. Листы 1, Лист 2 и лист 3 связаны внутри с помощью запроса Excel, поэтому каждый раз, когда я изменяю данные в основных файлах, мне приходится вручную обновлять таблицу на всех листах