Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用VBA构建一个数组,该数组将包含Excel文件中每列的内容_Arrays_Loops_Excel_Vba - Fatal编程技术网

Arrays 使用VBA构建一个数组,该数组将包含Excel文件中每列的内容

Arrays 使用VBA构建一个数组,该数组将包含Excel文件中每列的内容,arrays,loops,excel,vba,Arrays,Loops,Excel,Vba,我正在使用一个excel文件,该文件包含5列,每列对应一个不同的元素。 我试图创建一个列集合,其中该集合的每个元素将包含来自每个列中的行的数据。我从这样一个数组开始: Dim Column(1 To 5) As ColumnsInFile Column(1) = Worksheets("Sheet1").Range("B2", Range("B2").End(xlDown)) Column(2) = Worksheets("Sheet2").Range("C2", Range("

我正在使用一个excel文件,该文件包含5列,每列对应一个不同的元素。 我试图创建一个列集合,其中该集合的每个元素将包含来自每个列中的行的数据。我从这样一个数组开始:

Dim Column(1 To 5) As ColumnsInFile
    Column(1) = Worksheets("Sheet1").Range("B2", Range("B2").End(xlDown))
    Column(2) = Worksheets("Sheet2").Range("C2", Range("C2").End(xlDown))
    Column(3) = Worksheets("Sheet3").Range("D2", Range("D2").End(xlDown))
    Column(4) = Worksheets("Sheet4").Range("E2", Range("E2").End(xlDown))
    Column(5) = Worksheets("Sheet5").Range("F2", Range("F2").End(xlDown))
稍后我想对每一列的内容逐一执行一个函数

我的问题是,似乎我可以有一个更简单的代码来处理所有这些问题——加上代码不起作用,告诉我有些东西没有定义


如何循环遍历每一列,以便代码通过循环获取每一列的内容?不是定义B2,而是更一般的定义,从第一列开始,进入下一列,然后进入下一列。。原因是,问题是,如果我有400列……我不能这样定义它……它太长了。

要定义变量,您需要使用variant,并且name列是一个范围的属性,不应该用作名称:

dim cols() as variant, lastrow as long, lastcol as long 

'find last row and column 
lastrow = cells.find("*", range("A1"), , , xlbyrows, xlprevious).row
lastcol = cells.find("*", range("A1"), , , xlbycolumns, xlprevious).column 

'define your columns
cols = range("A2").resize(lastrow - 1, lastcol)

dim c as long, R as Long 
'cycle through columns
for C = 1 To ubound(cols, 2) ' second dimension is columns

    'cycle through rows
    for R = 1 to ubound(cols, 1) ' first array dimension is rows.

        'do somthing with columns and rows
        debug.print cols(R, C)

    next R
next C 

非常感谢。我在互联网上四处寻找,发现了一些类似的循环方法。但这给了我另一种方法!