Я написал простой сценарий VBA, который открывает все файлы .xls в заданной папке и копирует столбец А. Я хочу вставить эту информацию в уникальный столбец моей рабочей книги. Я не могу перебирать столбцы очень легко, поэтому в цикле ниже я просто вставляю все в один и тот же столбец. Я просто не могу понять, как обновить столбец, в который я хочу вставить. Если бы я перебирал строки, это было бы просто, это был бы Range («A» и LastRow), но столбцы выглядели бы хитрее. В цикле ниже все вставляется в столбец A целевой книги (переменная wkbDest).
Dim wkbDest As Workbook
Dim wkbSource As Workbook 'Source workbooks
Set wkbDest = ThisWorkbook
Const strPath As String = "C:\SecretPath\"
Const sheetName As String = "MacroResults"
Const xlsPattern As String = "*.xls"
ChDir strPath
strExtension = Dir(xlsPattern)
Dim lastColumn As Long 'variable that will be the counter to iterate over the columns
lastColumn = 0
wkbDest.Sheets(sheetName).Cells.Clear
wkbDest.Sheets(sheetName).Range("A1").Value = "Extraction Results"
Do While strExtension <> ""
Set wkbSource = Workbooks.Open(strPath & strExtension)
With wkbSource
lastColumn = lastColumn + 1
wkbSource.Sheets("Test_1").Columns("A:A").Copy
Я пробовал wkbDest.Sheets(sheetName).Range("A1").OffSet(0,lastColumn).PasteSpecial
и вместо Range Columns(lastColumn)
, но, похоже, ничего не работает.
wkbDest.Sheets(sheetName).Range("A1").PasteSpecial xlPasteValues
.Close savechanges:=True
End With
strExtension = Dir()
Loop