質問: 列番号 + 1 Loop End Sub <エラー発生部分> Do While Range(列番号 & "5").Value <> "" <補足> ちなみに、VBAの組んであるBOOKは「学校」フォルダの中、データが入っている BOOKは「データ」フォルダの中に格納されています。 以上お手数をおかけしますが、よろしくお願いいたします。
回答: 1回目のループ終了時の「列番号=列番号+1」結果は「D」になりますか?おそらくならないと思います。エラー発生時にデバッグを押した後、列番号のところにカーソルを合わせると値表示がされるので、確認出来ます。 これが原因ならば、以下のように対策すればOKです。 Sub W() Dim ファイル名 As String Dim 列番号 As Long 列番号 = 3 Do While Cells(5,列番号).Value <> "" ファイル名 = Cells(5,列番号).Value Workbooks.Open "D:\学校\データ\" & ファイル名 & ".xlsx" Range("A2:A5").Copy ActiveWorkbook.Close ThisWorkbook.Activate ActiveSheet.Paste Cells(6,列番号) 列番号 = 列番号 + 1 Loop End Sub 要は列番号をアルファベットでなく整数に変更し、セル表現をRangeからCellsに変更します。