5.3 セルへ文字列、数値、数式を書込む1
セルへ文字列や数値、数式などを書き込むには、RangeまたはCellsValueプロパティへの操作を行います。この例では、書込むセルが固定の場合を説明します。

ちなみに、Excel97以降ではRangeまたはCellsの標準プロパティ(省略したときのプロパティ)がValueプロパティになっているので省略しても平気ですが、Happy! Happy! Islandでは付けるようにしています。
使用例1/ある1つのセルへの書込み
A1というセルがあります。どこ??という方は左の図を見てください。このセルに、何か文字を入れてみましょう。と言ってもキーボードから入力するのではなく、マクロを使って入れるのです。



以下の例では、セルA1はRangeを使いHappy!Happy!Islandという文字列を、ついでにセルB1とC1はCellsを使いB1には3.14C1には2.14を書込んでいます。
そして、A2にはRangeを使い数式(B1とC1の合計)を入れています。

Sub prcRangeCells1()

    '文字列の場合
    Range("A1").Value="Happy!Happy!Island"

    '参考までにB1(R1C2)とC1(R1C3)へ数字を入れる例はCellsで
    Cells(1,2).Value=3.14
    Cells(1,3).Value=2.14

    '数式も入れてみよう
    Range("A2").Value="=B1+C1"

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです


ちなみに、Valueを省略してもExcel97からは同じ結果になります。Excel95などの古いバージョンではエラーになります。

Sub prcRangeCells2()

    '文字列の場合
    Range("A1")="Happy!Happy!Island"

    '参考までにB1(R1C2)とC1(R1C3)へ数字を入れる例はCellsで
    Cells(1,2)=3.14
    Cells(1,3)=2.14

    '数式も入れてみよう
    Range("A2")="=B1+C1"

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
使用例2/範囲内の全てのセルへの書込み
もしかすると、あまり使う機会が無いかもしれませんが、こういうこともできますってことで(笑)

指定した範囲内の全てのセルに同じ値を一度に書込むことができます。例えば、図のようなA1〜B3の範囲内の全てのセルにHappy!と入れてみましょう。



以下の例では、セルA1〜B3の範囲内の全てのセルに、Rangeを使いHappy!という文字列を書込んでいます。

Sub prcRangeCells3()

    '範囲指定で文字列を入れる
    Range("A1:B3").Value="Happy!"

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです


ちなみに、RangeCellsの組み合わせで次のように行っても同じ結果です。範囲は、R1C1参照形式で言うとR1C1〜R3C2です。

Sub prcRangeCells4()

    '範囲指定で文字列を入れる
    Range(Cells(1,1), Cells(3,2)).Value="Happy!"

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved