Excel VBA 質問スレッド №1560 (未解決)
セルコピー
投稿者 : NN 投稿日時 : 2023/09/11(Mon) 16:52:09 OS : 未指定 EXCEL : 未指定
はじめて5日間の初心者です。どなたか教えてください。
特定セルを、同じワークブック内にある全てのワークシートの同じ位置にコピーするにはどうしたらよいでしょうか。
以下の式ですと、コピー先がsheet2に特定されるのですが、
10シートあれば、10シート全てに、500シートあれば500シート全てにコピーしたいです。よろしくお願いします。
はじめて5日間の初心者です。どなたか教えてください。
特定セルを、同じワークブック内にある全てのワークシートの同じ位置にコピーするにはどうしたらよいでしょうか。
以下の式ですと、コピー先がsheet2に特定されるのですが、
10シートあれば、10シート全てに、500シートあれば500シート全てにコピーしたいです。よろしくお願いします。
Sub 別シートにコピー() Range("B1"). hCopy Sheets("Sheet2").Range("A1") End Sub
スポンサーリンク
[返信 1] Re : セルコピー
投稿者 : さんこう 投稿日時 : 2023/09/11(Mon) 17:17:45
>特定セルを、同じワークブック内にある全てのワークシートの同じ位置にコピーするにはどうしたらよいでしょうか。
「同じワークブック内にある全てのワークシート」に対して、「特定セルを、」「同じ位置にコピー」したらよろしいかと思います。
参考になれば。
<VBA 全シート 繰り返し>
https://www.google.com/search?q=VBA+%E5%85%A8%E3%82%B7%E3%83%BC%E3%83%88+%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97
>特定セルを、同じワークブック内にある全てのワークシートの同じ位置にコピーするにはどうしたらよいでしょうか。
「同じワークブック内にある全てのワークシート」に対して、「特定セルを、」「同じ位置にコピー」したらよろしいかと思います。
参考になれば。
<VBA 全シート 繰り返し>
https://www.google.com/search?q=VBA+%E5%85%A8%E3%82%B7%E3%83%BC%E3%83%88+%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97
[返信 2] Re : セルコピー
投稿者 : てらてら 投稿日時 : 2023/09/12(Tue) 08:02:38
こんにちは。
まず、シートの数は、Worksheets.Count で取得できるのでFor文で回します。
また、以下のプログラムでは、コピー元のシートをアクティブにした状態でないと上手くいきません。
コピー元のシートは回避するようにしてみました。
コピーは1回行えば、クリップボードに保存されるので、ペーストで繰返せばOKです。
初めて日が浅いようですが、VBAはプログラム言語なので、
変数、繰返し処理(For)、条件分岐(If)を練習すると良いと思います。
こんにちは。
まず、シートの数は、Worksheets.Count で取得できるのでFor文で回します。
また、以下のプログラムでは、コピー元のシートをアクティブにした状態でないと上手くいきません。
コピー元のシートは回避するようにしてみました。
コピーは1回行えば、クリップボードに保存されるので、ペーストで繰返せばOKです。
Sub 別の複数シートにコピー() Dim actName As String Dim i As Long 'コピー元のシート名を確保しておく actName = ActiveSheet.Name ActiveSheet.Range("B1").Copy 'コピー 'ワークシート分のループ For i = 1 To Worksheets.Count 'コピー元でなければ If Worksheets(i).Name <> actName Then '貼り付け Worksheets(i).Range("A1").PasteSpecial Paste:=xlPasteAll End If Next i End Sub
初めて日が浅いようですが、VBAはプログラム言語なので、
変数、繰返し処理(For)、条件分岐(If)を練習すると良いと思います。
[返信 3] Re : セルコピー
投稿者 : higeru 投稿日時 : 2023/09/12(Tue) 10:52:39
この場合「コピー」じゃなくてもよくね?というで別解です。あえて For ループも違う書き方をしてみました。
それとコピーの場合でもコピー先が自分自身かどうかは気にすることはないと思うので。
この場合「コピー」じゃなくてもよくね?というで別解です。あえて For ループも違う書き方をしてみました。
それとコピーの場合でもコピー先が自分自身かどうかは気にすることはないと思うので。
Sub 別の複数シートにコピーじゃないけど() Dim ws As Worksheet For Each ws In Worksheets ws.Range("A1") = Range("A1") Next End Sub
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2023-10-02 00:25:30 )