[[20230130170816]] 『コピー元のセルを複数指定したい。』(れい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『コピー元のセルを複数指定したい。』(れい)

Worksheets(2)へWorksheets(4)からコピーする下記マクロでコピー元のセルを複数指定したい。
貼付け先は、'4月〜3月の範囲の該当月をWorksheets(1).Range("A3")記載の「*月」を参照

Sub test3()

   Dim Cop
   Set Cop = Worksheets(4).Range("G15")’コピー元

  '処理月へ転記
    Dim c As Long
      For c = 8 To 19  '4月〜3月の範囲
      If Cells(2, c).Value = Worksheets(1).Range("A3").Value Then Exit For
      Next c  '該当月の指定
      Worksheets(2).Cells(5, c) = Cop’コピー先
End Sub

コピー元を現状の「Range("G15")」から「Range("G15:G18")」へ変更しましたが、
エラーなしですが無反応です。改善策を教えてください。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 > Worksheets(2).Cells(5, c) = Cop’コピー先
                                 ↓
    Worksheets(2).Cells(5, c) = Cop.Value ’コピー先

(半平太) 2023/01/30(月) 17:12:24


 >Worksheets(2).Cells(5, c) = Cop 'コピー先

 ループの外に出ちゃってるけど。

 もっとも次はエラーが出ると思います。
(MK) 2023/01/30(月) 17:17:02

 なるほど。
 ループで転記先のセルを探すというわけか。
 私のレスははスルー願います。
(MK) 2023/01/30(月) 17:19:30

パッと見ですが、
’コピー元
はそのままで
’コピー先

Worksheets(2).Cells(5, c).offset(0, 0) = Cop.offset(0, 0)
Worksheets(2).Cells(5, c).offset(0, 1) = Cop.offset(0, 1)
Worksheets(2).Cells(5, c).offset(0, 2) = Cop.offset(0, 2)
または
Worksheets(2).Cells(5, c) = Cop.offset(0, 0)
Worksheets(2).Cells(6, c) = Cop.offset(0, 1)
Worksheets(2).Cells(7, c) = Cop.offset(0, 2)
とかではどうでしょう?

かっこわるいけど
(初心者) 2023/01/30(月) 17:26:08


 あれ? 転記先がワンセルじゃないですか。なら↓

 Worksheets(2).Cells(5, c).Resize(Cop.Rows.Count, 1) = Cop.Value 'コピー先

(半平太) 2023/01/30(月) 17:31:17


みなさん ありがとうございます。.Valueでできました。
(れい) 2023/01/30(月) 18:02:24

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.