2016-05-30 9 views
1

ファイルのループスルーしたい列をA列の代わりにExcelにしたいが、それは成功しなかった。手伝って頂けますか ?
私はブロックされている7行(ファイルパス)です。私がicolの列Aを変更した場合、それは機能しません。列をループしVBAのループスルー列

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 
+1

変更〜Application.Rows worksh.Rows〜 – skkakkar

答えて

0

Cellsを使用する方が簡単でしょう:


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 
+0

実際には、あなたは正しいです。しかし、私は変更し、常にその行に問題がある "自動化エラー" – JeanLo

+0

私は〜Application.Rows〜〜worksh.Rows〜に変更されるとコメントし、あなたもそれを支持した。しかし、この行のテストでは、〜Application.Rows〜でもnumRowsが正しく表示されています。この行はエラーを投げていません。この問題に関する指導を求めてください。 – skkakkar

+0

@JeanLo: 'numRows = ...'でオートメーションエラーが発生しましたか? Straaaaange ...私はこれについての説明をしていない、私はここでどのようにエラーが発生する可能性が理解していない...それははるかに大きなプログラムの一部ですか? – R3uK

関連する問題