アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA、セルについての質問です。


3,2 2,7
1,6 3,3
7,4 2,5
1,3 4,6

ワークシート1に、
ワークシート2のどのセルを
ワークシート3のどのセルに
反映させたいかというのをまとめた表があります。
(上の図のようなものです。)

例をいうと、ワークシート2の(3,2)のセルを
ワークシート3の(2,7)のセルに反映させたいと
いうかんじです。

セルはcells(3,1)などで表すので
cells(3,2)=cells(2,7)と書いていくのが
簡単なのですが、とても数が多いので
全部を書いていくのは大変です。

他に何か方法はないでしょうか?

A 回答 (2件)

cells(3,2)=cells(2,7)


直接、このように書くのではなく、
cells(r1,c1)=cells(r2,c2)
のように書く前提で進めれば良いでしょう。
r1=cells(row,"A").value
c1=cells(row,"B").value
r2=cells(row,"C").value
c2=cells(row,"D").value
として、
シート2のcells(r1,c1).value=シート3のcells(r2,c2).value
します。
rowはワークシート1で処理している行です。
    • good
    • 1
この回答へのお礼

ありがとうございます!
なんとかなにかに置き換えて代入できないかと考えていたので、まさに求めていた回答です!
rowについて自分でも調べながら修正したいと思います!

お礼日時:2017/06/29 16:23

回答ではないです。

素朴な疑問です。
通常、セルの位置は、「B3、G2」と表現しますが、なぜ、「3,2 2,7」としたのですか?
「B3、G2」の方が見た目も分かりやすいし、マクロも簡単に組めるような気がするのですが・・・。
良ければ、「3,2 2,7」とした理由をお聞かせください。
    • good
    • 0
この回答へのお礼

実はこれの前に2つのセルの中身を足して、別のセルに出力するという動作をしていて、それをFor構文で繰り返していまして…。
その時にcells(3+i,2)というふうに書いてしまったので、統一しなければいけないかと思ったのです…。

お礼日時:2017/06/29 16:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!