Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8832 / 76732 ←次へ | 前へ→

【73468】Re:別ブックからのコピペについて(VBA)
発言    - 13/1/14(月) 7:31 -

引用なし
パスワード
   こんにちは。
調べるならそのエラーメッセージでネット検索するのが、道が開けると思います。
要は「そんな名前のブックはありませんよ」「そんな名前のシートはありませんよ」
ってことです。「そんなはずはない」と思われるでしょうが(わたしもむかし
さんざん思いました)、でもエラーに関してはいつだってエクセル君が正しいのです。
エクセル君が「ない」といえば「ない」のです。


エラーの出るコードをこんなふうに書き換えてみました。
Application.Workbooks(OpenFileName).Worksheets("Sheets(1).Name").Cells(1,1)
Application.Workbooks("b.xls"   ).Worksheets("Sheets(1).Name").Cells(1, 1)

すると違っているのはブック名の指定の部分だけとなりました。
1行目のコードだけでエラーが出たら、OpenFileNameに問題あり、1行目2行目
ともにエラーが出たら"Sheets(1).Name"にも問題ありです。

っと。上のコードをそのまま実行しちゃダメですね(笑)
Cells(1,1)がどうしたの?ってコードですから。セルの値をメッセージボックスに
返すようにして、さらに実行順も変更してみました。
Msgbox Application.Workbooks("b.xls").Worksheets("Sheets(1).Name").Cells(1, 1).Value
Msgbox Application.Workbooks(OpenFileName).Worksheets("Sheets(1).Name").Cells(1,1).Value

試してみて下さい。
上の行でエラーが出たら"Sheets(1).Name"に問題ありです。


▼さわ さん:
>すいません。
>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)
>について調べています。
>
>よろしくお願いします。

887 hits

【73466】別ブックからのコピペについて(VBA) さわ 13/1/14(月) 5:40 質問
【73468】Re:別ブックからのコピペについて(VBA) 13/1/14(月) 7:31 発言
【73484】Re:別ブックからのコピペについて(VBA) さわ 13/1/15(火) 1:20 質問
【73495】Re:別ブックからのコピペについて(VBA) さわ 13/1/16(水) 9:26 お礼

8832 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free