Шаг 1
Чтобы открыть книгу, вам нужно просто дать адрес вашей книги и присвоить его новой переменной, а также применить метод Open на объекте Рабочие книги вы можете открыть его:
Sub OpenWorkbook()
Dim FileName As String
'Assign the address of your file to the variable FileName
FileName = "\FileAddress\FileName.xlsx"
Workbooks.Open FileName
End Sub
До сих пор вы открыли нужную книгу Excel.
Шаг 2 Затем вынеобходимо прочитать нужные ячейки вашей рабочей книги.
Вы должны назначить каждую ячейку отдельно новой переменной.Таким образом, вы можете написать код, который сделает это за вас:
Sub OpenWorkbook()
Dim FileName As String
'Assign the address of your file to the variable FileName
FileName = "\FileAddress\FileName.xlsx"
Workbooks.Open FileName
Dim A1 As String
A1 = Workbooks("Excel File Name").Worksheets("Sheet Name").Range("A1")
Dim B1 As Integer
B1 = Workbooks("Excel File Name").Worksheets("Sheet Name").Range("B1")
Dim C1 As Integer
C1 = Workbooks("Excel File Name").Worksheets("Sheet Name").Range("C1")
'You continue until the column 200. If there is some logic you can assign your similar variables by a for loop to an array.
End Sub
Шаг 3
Для вашей задачи вам нужно определить массивы.В противном случае вы не сможете решить эту проблему.Если вам нужно пройти 100 строк, вам нужно определить массив с размером 100 для каждого столбца.Массивы A (99) начинаются с A (0) до A (99), который имеет размерность 100. Например, для итерации в 3 столбцах по 100 строк вы можете написать:
Sub IterationInRows()
Dim A(99) As String, i As Integer
Dim B(99) As Integer
Dim C(99) As String
'Continue through all your variables
For i = 0 to 99
A(i) = Workbooks("Excel File Name").Worksheets("Sheet Name").Ragne("A" & i+1)
B(i) = Workbooks("Excel File Name").Worksheets("Sheet Name").Ragne("B" & i+1)
C(i) = Workbooks("Excel File Name").Worksheets("Sheet Name").Ragne("C" & i+1)
Next i
End Sub
Я думаю, комбинируяЭти 3 шага вы можете решить вашу проблему.
Если в ваших столбцах есть логика, вы можете определить многомерные массивы и назначить все значения столбцов с аналогичным типом данных для этого массива.
Предположим, что нечетные столбцы (1, 3, 5, ..., 199) являются строками.Поэтому у вас есть 100 столбцов со строковым типом данных, и вы хотите выполнить итерацию в 100 строк.
Таким образом, вам нужно определить массив типа A (99,99), чтобы перебрать все из них, используя два вложенных цикла for.
Итак, вы пишете такой код:
Sub Iteration2()
Dim A(99,49) As String, i as integer, j as integer
For i = 0 to 99
For j = 0 to 99
A(i,j) = Workbooks("Excel File Name").Worksheets("Sheet Name").Cells(i+1,2*j+1)
Next j
Next i
End Sub
Можно также закрыть вашу книгу по коду.Однако вам необходимо назначить книгу для объекта, а затем применить метод, близкий к этому объекту.Но я думаю, что вам это не нужно.
Ваш вопрос был довольно широким.Но я надеюсь, что смогу помочь вам решить вашу проблему.