#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, поэтому каждый раз, когда я изменяю данные в основных файлах, мне приходится вручную обновлять таблицу на всех листах