第一步
要打开工作簿,您只需提供工作簿的地址并将其分配给新变量,然后通过对对象 Workbooks 应用 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
第三步
对于您的问题,您需要定义数组。否则你无法解决这个问题。
如果需要遍历 100 行,则需要为每列定义一个维度为 100 的数组。数组 A(99) 从 A(0) 到 A(99),维数为 100。
例如,对于 100 行的 3 列迭代,您可以编写:
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
也可以通过代码关闭您的工作簿。但是,您需要将工作簿分配给一个对象,然后将该方法应用到该对象附近。但我认为你不需要它。
你的问题有点宽泛。但我希望我能帮助您解决您的问题。