Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
VBA中的循环通过列_Vba_Excel - Fatal编程技术网

VBA中的循环通过列

VBA中的循环通过列,vba,excel,Vba,Excel,我想循环浏览excel文件中的列,而不仅仅是列a,但我没有成功。你能帮我吗? 我被阻塞的是7行(文件路径)。如果我更改了icol的A列,它将不起作用 Set workboo = Workbooks.OpeN("C:\Users\Desktop\list_files.xlsx") Set worksh = workboo.Worksheets("List_File") For j = 1 To 10 icol = 2 * j - 1 numRows = worksh.Cells(A

我想循环浏览excel文件中的列,而不仅仅是列a,但我没有成功。你能帮我吗?
我被阻塞的是7行(文件路径)。如果我更改了icol的A列,它将不起作用

Set workboo = Workbooks.OpeN("C:\Users\Desktop\list_files.xlsx")

Set worksh = workboo.Worksheets("List_File")

For j = 1 To 10
   icol = 2 * j - 1
   numRows = worksh.Cells(Application.Rows.Count, icol).End(xlUp).Row        
    For i = 2 To numRows
            Filepath = worksh.Range("A" & i).Value  'i changed column A for icol but it doesn t work 
            fso.CopyFile Filepath, Destination, True
        Next

要在列中循环,使用
单元格将更容易:

Filepath = worksh.Cells(i, icol).Value

这是:

numRows = worksh.Cells(Application.Rows.Count, icol).End(xlUp).Row  
应该是

numRows = worksh.Cells(worksh.Rows.Count, icol).End(xlUp).Row  

要在列中循环,使用
单元格将更容易:

Filepath = worksh.Cells(i, icol).Value

这是:

numRows = worksh.Cells(Application.Rows.Count, icol).End(xlUp).Row  
应该是

numRows = worksh.Cells(worksh.Rows.Count, icol).End(xlUp).Row  

将~Application.Rows改为worksh.Rows~将~Application.Rows改为worksh.Rows~事实上,你是对的。但是我改变了,在“自动化错误”一行中总是有一个问题。我评论说,~Application.Rows~将更改为~worksh.Rows~并且您也认可了它。但在测试这一行时,即使使用~Application.Rows~我也能得到正确的numrow,而且这一行没有抛出任何错误。在这个问题上寻求您的指导。@JeanLo:您在
numRows=…
上得到一个自动化错误?斯特拉安格。。。我对此没有解释,我甚至不明白这里怎么会有错误。。。这是一个更大计划的一部分吗?事实上,你是对的。但是我改变了,在“自动化错误”一行中总是有一个问题。我评论说,~Application.Rows~将更改为~worksh.Rows~并且您也认可了它。但在测试这一行时,即使使用~Application.Rows~我也能得到正确的numrow,而且这一行没有抛出任何错误。在这个问题上寻求您的指导。@JeanLo:您在
numRows=…
上得到一个自动化错误?斯特拉安格。。。我对此没有解释,我甚至不明白这里怎么会有错误。。。这是一个更大计划的一部分吗?