VBA初心者です。 VBAで作成したプログラムがエラーで止まってしまい、先に進まないのです。 わかる方いらっしゃいましたら、ご教示頂けないでしょうか。 <やりたいこと> 同じ形式の複数のエクセルBOOKに入っている特定の列の特定の行範囲にあるデータを、 別の集計用エクセルBOOKの単一のシートの中に順々にコピーをしていきたいのです。 集計用BOOKの特定の行には、データBOOKのBOOK名が横にずらっと記載されて おり、集計用BOOKに組んだVBAでBOOK名を読み取り、そのBOOK名のデータBOOKを 開き、特定セル範囲(A2:A5)の値をコピーし、集計用BOOKのBOOK名が記載されて いる列に貼り付けしていく。同様に、集計用BOOKの右どなりの列に記載されている BOOK名を読み取り、そのBOOKを開き...と継続し、集計用BOOKにデータ用BOOK 名が記載されていない列まできたら、Do Whileステートメントを終了する、ということ をやりたいのです。 <問題点> 実行させると、「実行時エラー'1004' 'Range'メソッドは失敗しました :'Global'オブジェクト」なるメッセージが出て、先に進まないのです。 <プログラム> Sub W() Dim ファイル名 As String Dim 列番号 As String 列番号 = c Do While Range(列番号 & "5").Value <> "" ファイル名 = Range(列番号 & "5").Value Workbooks.Open "D:\学校\データ\" & ファイル名 & ".xlsx" Range("A2:A5").Copy ActiveWorkbook.Close ThisWorkbook.Activate ActiveSheet.Paste Range(列番号 & "6") 列番号 = 列番号 + 1 Loop End Sub <エラー発生部分> Do While Range(列番号 & "5").Value <> "" <補足> ちなみに、VBAの組んであるBOOKは「学校」フォルダの中、データが入っている BOOKは「データ」フォルダの中に格納されています。 以上お手数をおかけしますが、よろしくお願いいたします。
↧