VBAの複数のセルを選択、コピーしようとしているのですができません。
エクセルで複数の選択&コピーができないので、普通のやり方ではできないとわかっています。でも、やりたいんです。どなたか、その方法に知恵を貸していただける方はいませんか?
現在、ダイアログボックスにて複数のセルを入力した情報について、それを他のシートにコピーしようとしています。
(なぜ、いちいちダイアログで入力しているのかというと、その入力情報を元に、オフセットで過ぎのセルの情報に移動しそれも個コピー&ペーストしようとしているのです。)
Set IntTest = Application.InputBox(Prompt:=StrMsgTest, Type:=8)
で、複数のセルを選んでもらった情報を他のシートにコピーしようとしています。
複数のセルのコピーができないので、今はUnionを使ってどうにかならないか試していますが、これまた全然わかりません。
Union(Range("g1:k8"), Range("h9:h19"), Range("g20:k30")).Select
Selection.Copy Destination:=Worksheets("Sheet2").Range("A1")
どなたか、「コピー&ペースト」について、またそれとともに「ダイアログ入力からのそのコピー&ペーストの方法」について知恵を貸していただけませんか?
No.3ベストアンサー
- 回答日時:
>複数のセルを選んでもらった情報を他のシートにコピーしようとしています
どこに貼り付けるのか書かれていないので違っているかもしれませんが、InputBoxメソッドで選択したレンジの値を、別シートの同じアドレスのセルに書き込む方法ではいけませんか?
Sub macro()
Dim ws As Worksheet
Dim rng, trg As Range
Set ws = ActiveSheet
Set trg = Application.InputBox(prompt:="セルを選択してください", Type:=8)
If Not trg Is Nothing Then
Worksheets.Add after:=ws '←とりあえずシートを追加してます
For Each rng In trg
ActiveSheet.Range(rng.Address).Value = rng.Value
Next rng
End If
End Sub
この方法では書式はコピーされません。セルを1つずつCopyして、Pasteする方法も考えられますが、それはお試しください
質問自体があいまいだったのに、丁寧な回答をありがとうございます。
アドレスのセルに書き込む方法で対処してみます。ありがとうございました。
No.2
- 回答日時:
こんばんは。
>でも、やりたいんです。
私は、そのロジックが理解できないですね。
コピー&ペーストの問題ではなく、その手順と内容の問題です。
出過ぎたものという判断を、インプットボックスで行うということ自体、判定に無理がありますし、任意で領域を選択しているので、コピーしたデータに順序も定まりません。
また、それぞれの貼り付けした後の領域の、それぞれの位置関係も不明です。そもそも、何に対して、シート2 のA1 なのでしょうか?順序のないデータ領域に、A1 の貼り付け先ということはありえません。今の段階では、せいぜい、Sheet1 の選んだ領域と同じ場所のSheet2しか無理だと思います。
もう、一度、振り出しに戻って、考え直したほうがよいと思います。
No.1
- 回答日時:
Unionは、セルの参照に使用できますが、COPYには、向かないです。
セルのコピーアンド ペーストは、
例;
Worksheets("Sheef1").Range("A1:C3").Copy
Worksheets("Sheef1").Paste(Worksheets("Sheef1").Range("B2:D4"))
となります。
回答ありがとうございます。
私の質問があいまいだったために、いろいろな回答を頂きました。
g1からk8、h9からh19、g20からk30までを、一度にコピーする仕方を知りたかったんです。
もう少し質問の内容を絞って出直してきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
- Excel(エクセル) エクセルからビジオのリンク貼り付け 1 2023/03/30 17:51
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
Unionでの他のシートの参照について
Visual Basic(VBA)
-
エクセルで離れたセルを離れた場所へコピペするには?
その他(ビジネス・キャリア)
-
-
4
マクロについて 複数セルの値を別シートの任意のセルにコピー貼り付けしたい
Excel(エクセル)
-
5
For~Next ループ内でUnionメソッドを使うとエラーになります。
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
Excelでのセル内容の高速消去方法
その他(プログラミング・Web制作)
-
8
複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ
Excel(エクセル)
-
9
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
-
10
VBA 日付別に最大値の行を抽出して別シートに貼り付けたい
Excel(エクセル)
-
11
VBA 数値を文字列として貼付したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル:マクロ「Application...
-
エクセルのアポストロフィを一...
-
エクセルの2ページ目の作り方
-
エクセルで「コピーしたセルの...
-
EXCELシートをPowerPointにきれ...
-
Excelに、ダブルクォーテーショ...
-
エクセルで勝手に「折り返して...
-
Excel)軽いデーターのはずなの...
-
Excel 行の連続データを列に参...
-
Excelでコピーした行の挿入を繰...
-
メールソフト「サンダーバード...
-
エクセルで隣接していない複数...
-
EXELで複数のとびとびのセルを...
-
エクセルで、選択範囲の数値全...
-
エクセルオートフィルで書式を...
-
Excelで値をコピーするとセルの...
-
エクセル コピーしたデータを1...
-
エクセル・数値が変化したらカ...
-
フォームのテキストボックスの...
-
エクセルで値だけコピーして背...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:マクロ「Application...
-
エクセルのアポストロフィを一...
-
エクセルの2ページ目の作り方
-
エクセルで勝手に「折り返して...
-
Excel 行の連続データを列に参...
-
EXCELシートをPowerPointにきれ...
-
EXCELのオートフィルの設定を変...
-
「選択範囲を解除してアクティ...
-
メールソフト「サンダーバード...
-
エクセルオートフィルで書式を...
-
Excelでコピーした行の挿入を繰...
-
Excelに、ダブルクォーテーショ...
-
エクセルでの行数・列数を指定...
-
エクセルで隣接していない複数...
-
Excel)軽いデーターのはずなの...
-
エクセルで値だけコピーして背...
-
EXELで複数のとびとびのセルを...
-
エクセル 別シートへのコピー...
-
エクセルで、選択範囲の数値全...
-
エクセル・数値が変化したらカ...
おすすめ情報