0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Q7.別のワークシートにセルの値をコピーするには?①

Last updated at Posted at 2020-01-14

今回は別のワークシートに情報をコピーするテクニックを考えていきます。

以下のように、各個人のシートが作成されており、国語、数学、英語の点数が記載されています。
これを1つのシートに集約していくというマクロです。

Q7.png

7-3.png

7-4.png

最終的に集約させるシートはこちらです。

Q7-2.png

■ポイント

今回の作成のポイントは、他のシートの情報をどのように参照するかとなります。
例えば、Range("C3").valueという記述では、アクティブなワークシートの情報を取得することになります。

Worksheets("田中").Range("C3").valueとすると、田中シートにあるC3セルの値を、
取得することができます。
ワークシートはこのまま直接名前を指定することもできますし、
Worksheets(1)といったインデックス番号で指定することもできます。
インデックスは左から1から順番に割り振られています。

田中シートは左から3番目にあるので、
Worksheets(3).Range("C3").valueと記述しても同じことになります。

ただし、インデックス番号で指定する場合は、シートの順番が変われば
番号も変わりますので、その点はご注意を。

■回答

Sub Q7_Answer()
    Worksheets("全体").Range("B3").Value = Worksheets("田中").Range("B3").Value
    Worksheets("全体").Range("B4").Value = Worksheets("高橋").Range("B3").Value
    Worksheets("全体").Range("B5").Value = Worksheets("山田").Range("B3").Value
    Worksheets("全体").Range("C3").Value = Worksheets("田中").Range("C3").Value
    Worksheets("全体").Range("C4").Value = Worksheets("高橋").Range("C3").Value
    Worksheets("全体").Range("C5").Value = Worksheets("山田").Range("C3").Value
    Worksheets("全体").Range("D3").Value = Worksheets("田中").Range("D3").Value
    Worksheets("全体").Range("D4").Value = Worksheets("高橋").Range("D3").Value
    Worksheets("全体").Range("D5").Value = Worksheets("山田").Range("D3").Value
    Worksheets("全体").Range("E3").Value = Worksheets("田中").Range("E3").Value
    Worksheets("全体").Range("E4").Value = Worksheets("高橋").Range("E3").Value
    Worksheets("全体").Range("E5").Value = Worksheets("山田").Range("E3").Value
End Sub

■解説

解説もクソもありません。たた、単純にコピーしただけのマクロです。

もちろん、これはいい例ではありません。
ただ、これでも今回の目的は達成されているわけなんですね。

そこで、次に考えるべきは、拡張性です。
同じように100人分のデータがあったとき、効率の違いが如実に現れます。
ただし、このように少ないデータの場合は、行数としてはそこまで変わらないんですね。

ループ処理を取り入れることによって、もっと効率的に記述することができるようになります。
効率的に記述できれば、3人だろうと、100人だろうと行数はそこまで変わりません。

次回それらへんを取り扱っていこうと思います。

それでは、最後の今回の結果を載せておきます。

7-5.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?