Excel VBA質問箱 IV

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

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


243 / 13644 ツリー ←次へ | 前へ→

【81347】範囲指定ではないセルの一括コピーの仕方について 初心者 20/6/9(火) 12:25 質問[未読]
【81348】Re:範囲指定ではないセルの一括コピーの仕... よろずや 20/6/9(火) 16:38 回答[未読]

【81347】範囲指定ではないセルの一括コピーの仕方...
質問  初心者  - 20/6/9(火) 12:25 -

引用なし
パスワード
   範囲指定(A1:C3)ではなく、
A1,B3,C2といった離れたセルを一括でB2,A2,C1セルに反映させる記述で悩んでいます。
A1,B3,C2の値全てをペースト先のそれぞれのセルに反映させたい訳ではなく、
A1=B2、B3=A2、C2=C1といった処理がしたいです。

Worksheets.Range("A1").Value = Worksheets.Range("B2").Value
Worksheets.Range("B3").Value = Worksheets.Range("A2").Value

といった感じで書けば想定通りには動くのですが、
行数が多くて汚く見えるのでもっと整理する方法はないでしょうか。

【81348】Re:範囲指定ではないセルの一括コピーの...
回答  よろずや  - 20/6/9(火) 16:38 -

引用なし
パスワード
   何をしたいのか今市ですが…

Sub test()
  Dim ary, e, p, sh1, sh2
  Set sh1 = Worksheets(1)
  Set sh2 = Worksheets(2)
  ary = Array("A1=B2", "B3=A2", "C2=C1")
  For Each e In ary
    p = Split(e, "=")
    sh1.Range(p(0)).Value = sh2.Range(p(1)).Value
  Next
End Sub

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