Я копирую данные между двумя рабочими книгами Excel, используя vba:
- Источник данных (копирование из): Рабочая книга x, лист «Лист ожидания».
- Назначение данных (вставка в ): Рабочая тетрадь y, таблица «Данные за все годы».
Это стало проблемой, поскольку в рабочую книгу y на листе назначения, куда я вставляю данные, я добавил вспомогательные столбцы, чтобы облегчить фильтрацию данных. Однако теперь, когда я копирую и вставляю данные (автоматически с помощью vba) из исходного листа в лист назначения, кажется, что он копирует все столбцы (с данными или без данных), которые затем перекрывают мои вспомогательные столбцы, оставляя всю область пустой.
Теперь я хотел бы ограничить диапазон, в который вставляются данные, т.е. от столбца A к столбцу W, вместо вставки поверх моих вспомогательных столбцов X, Y и Z и всех оставшихся столбцов.
Пожалуйста, смотрите мой код ниже: -
Sub CopyToYearly2()
Dim LastRow As Long
Dim i As Long, j As Long
Dim answer As Integer
answer = MsgBox("Do you intend to copy this data to the Yearly analysis sheet?", vbYesNo + vbQuestion, "Copy data to Yearly analysis sheet.")
Set x = ThisWorkbook
If answer = vbYes Then
Set y = Workbooks.Open("S:\Downloads\workbook y.xlsm")
With x.ActiveSheet 'Determine last used row on waitinglist.
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
With y.Sheets("ALL Years Data")
j = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
End With
For i = 3 To LastRow
'With x.Sheets("Waiting List")
With x.ActiveSheet
.Rows(i).Copy Destination:=y.Sheets("ALL Years Data").Range("A" & j)
j = j + 1
End With
Next i
'Save x and y:
x.Save
y.Save
Else
'do nothing
End If
End Sub
Спасибо.