|
すいません。
VBAに触った事がない者なのですが、
どうしてもやりたい事があり、現在調べています。
環境はExcel2003です。
やりたいことは、
「Aのブックのシート1枚からBのブックへシートの中身を全てコピーすること」です。
AのブックとBのブックは同じパスに存在します。
Aのブックの名前はランダムなので、
こちらでGetOpenFilenameで取得したものを使います。
→今はその方法しか知りません。
Aの一番左側にあるシートを取得(コピー)します。
最終的にAのブックを閉じます。
Bのブックの名前は固定です。
Bのコピー先シート名は固定です。
現在、訳も分からず以下ようなプログラムでとまっています。
Private Sub CommandButton1_Click()
Dim OpenFileName As String
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls*")
Workbooks.Open OpenFileName
Application.Workbooks(OpenFileName).Worksheets("Sheets(1).Name").Cells.Copy _
Application.Workbooks("b.xls").Worksheets("Sheets(1).Name").Cells(1, 1)
Workbooks("OpenFileName").Close
End Sub
ステップインで調べていると、
「インデックスが有効範囲内ではありません。」
とでて、とまっています。
Aのブックを開いた後、コピー
Bのブックへペーストが出来ていないようです。
今、構文などが全く理解していないので、
Application.Workbooks(OpenFileName).Worksheets("Sheets(1).Name").Cells.Copy _
Application.Workbooks("bb.xls").Worksheets("Sheets(1).Name").Cells(1, 1)
について調べています。
よろしくお願いします。
|
|