vba データを別ブックに張り付けしたい | |
---|---|
[196252] vba データを別ブックに張り付けしたい- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ chabin -(2024/06/24(09:43)) □U R L/ お世話になります。 OSはwin11 エクセルはoffice365です。 ご指導いただきたいのは、 下記のコピー元の値を貼り付け先に値のみを貼り付けたいのです。 私なりにサイトから引用したコードを下記していますが、 実行すると「インデックスが有効範囲にありません」と警告表示されます。 警告表示の解消方法と下記のコードで何かミスがあれば、進言を賜りたいと思います。 コピー元 パス "C:\Users\04524\デスクトップ\keep\2024 株価取得01.xlsm" シート名 日毎 コピー範囲 Range("B2:C3,B5:C6") 貼り付け先 パス "C:\Users\04524\デスクトップ\keep\2024 株価取得02.xlsm" シート名 日毎02 貼付範囲 Range("B2:C3,B5:C6") 参考コード Sub 別ブックへ値のみコピーする() Dim objWorkbook As Workbook Set objWorkbook = Workbooks.Open("C:\Users\04524\デスクトップ\keep\2024 株価取得02.xlsm") Workbooks("C:\Users\04524\デスクトップ\keep\2024 株価取得01.xlsm").Sheets("日毎").Range("B2:C3,B5:C6").Copy objWorkbook.Sheets("日毎02").Range("B2:C3,B5:C6").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Set objWorkbook = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[196253] Re[1]: vba データを別ブックに張り付けしたい- ■記事引用/メール受信=OFF■ □投稿者/ 匿名 -(2024/06/24(12:17)) □U R L/ >警告表示の解消方法と下記のコードで何かミスがあれば、進言を賜りたいと思います。 「ご指導」という事なので、考え方を伝えます。 VBAではなく、人間がやるとしたらどのような作業でしょうか。 コピー元のファイルを開く コピー先のファイルを開く コピーしたいセル範囲を選択する コピーコマンドを実行する コピー先のセル(セル範囲)を選択する 貼付けコマンドを実行する では、VBAでどの様に指示しているのでしょうか >Set objWorkbook = Workbooks.Open("C:\Users\04524\デスクトップ\keep\2024 株価取得02.xlsm") 「C:\Users\04524\デスクトップ\keep\2024 株価取得02.xlsm」というファイルを開き、 Workbook型オブジェクト変数にセットする >Workbooks("C:\Users\04524\デスクトップ\keep\2024 株価取得01.xlsm").Sheets("日毎").Range("B2:C3,B5:C6").Copy 「C:\Users\04524\デスクトップ\keep\2024 株価取得01.xlsm」という【現在開いているファイル】の 「日毎」というシートの「B2:C3,B5:C6」の範囲を選択してコピーコマンドを実行 >objWorkbook.Sheets("日毎02").Range("B2:C3,B5:C6").PasteSpecial Paste:=xlPasteValues 「objWorkbook」という変数(et objWorkbook = Workbooks.Openで開いたファイル)の 「日毎02」というシートの「B2:C3,B5:C6」の範囲を選択して、値貼り付けコマンドを実行 ここまでで、人間がやる事と、VBAで実行している事に 違いがある事ありますか? この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196254] Re[2]: vba データを別ブックに張り付けしたい- ■記事引用/メール受信=OFF■ □投稿者/ chabin -(2024/06/24(14:42)) □U R L/ 1 コピー元は開いた状態 2 コピーコマンドを実行する 3 コピー先のファイルを開く Dim objWorkbook As Workbook Set objWorkbook = Workbooks.Open("C:\Users\04524\デスクトップ\keep\2024 株価取得 02.xlsm") 4 コピーしたいセル範囲を選択する Workbooks("C:\Users\04524\デスクトップ\keep\2024 株価取得01.xlsm").Sheets("日毎").Range("B2:C3,B5:C6").Copy 5 コピー先のセル(セル範囲)を選択する 〜1 objWorkbook.Sheets("日毎02").Range("B2:C3,B5:C6").PasteSpecial Paste: =xlPasteValues 〜2 Application.CutCopyMode = False 6 Set objWorkbook = Nothing この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196258] Re[3]: vba データを別ブックに張り付けしたい- ■記事引用/メール受信=OFF■ □投稿者/ 匿名 -(2024/06/26(06:43)) □U R L/ >4 コピーしたいセル範囲を選択する この部分のコードは、 コピー範囲を指定(選択)してコマンドの実行です。 VBAでは、マウスやキーボードで選択しなくても、 Range("B2:C3,B5:C6")と指定することが可能なだけです。 >5 コピー先のセル(セル範囲)を選択する この部分のコードは、 貼り付け範囲を指定して値貼り付けコマンドの実行です。 ここまでで、人間がやる事と、VBAで実行している事に 違いがある事ありますか? という問いには答えてもらえないみたいですね。 では、もう少し答えに近いヒントです。 どこで「インデックスが有効範囲にありません」 というエラーが出ているのですか。 VBAに限らず、間違いやミスが起こった時、 どこ(工程など)で、どんな(間違えやミスの内容など)を把握せずに、 間違えやミスを正すことはできるのでしょうか。 |
[196266] Re[4]: vba データを別ブックに張り付けしたい- ■記事引用/メール受信=OFF■ □投稿者/ ビジョン -(2024/07/01(08:08)) □U R L/ > コピー範囲 > Range("B2:C3,B5:C6") > 貼付範囲 > Range("B2:C3,B5:C6") できないです こんなエラーになりませんか(自分で手動でもやってみること) この操作は複数の範囲に対しては機能しません この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
このトピックに書きこむ |
---|