Step 3_2 セルの値・数式を設定する

■値の取得と設定

★セルの値を取得するには

  • セルの値を取得するときには Value プロパティを使います。
  • 次の例ではセルB6の値をダイアログボックスに表示します。
    MsgBoxは代入された値をダイアログボックスに表示する関数です。
    MsgBox Range("B6").Value

★セルに値(文字列)を設定するには

  • Valueプロパティに文字列を代入するときには、値をダブルコーテーションで囲みます。
  • 次の例題では1つ目のステートメントはアクティブシートのセルに入力され、残り2つのステートメントは、Sheet2のセルに入力されます。
    Range("A1").Value = "ABC"
    Worksheets("Sheet2").Cells(2, 1).Value = "DEF"
    Worksheets("Sheet2").Range("B1:B5").Value = "XYZ"

★表示形式を指定してセルに値を設定するには

  • Valueプロパティに数値を代入するときには("")で囲みません。
  • Valueプロパティに、桁区切り、日付、時刻、文字数値などの値を入力するときには文字列と同様に("")で囲みます。
    Range("A1").Value = 123.45
    標準
    Range("A2").Value = "123,000"
    桁区切り
    Range("A3").Value = "2002/12/25"
    日付
    Range("A4").Value = "8:45:30"
    時刻
    Range("A5").Value = "'00225"
    文字列数値

★セルの値を別のセルに入力するには

  • 次の例ではセルA1の値を、セルC1に入力します。
    Range("C1").Value = Range("A1").Value

  • Rangeオブジェクトに対するValueプロパティは省略することができますが、 最初のうちはValueプロパティを省略しない方法でやってみましょう。
    ※次の例でもセルに値を入力できます。
    Range("C1") = Range("A1")

■数式の取得

    マクロを実行するために、データが必要なこともあります。
    この課題マクロを作成する前に、DLページから Samplebook1.LZH をダウンロードしてください。 「売上集計」というブックが入ってます。
    ただし、マクロは入っていませんので、自分で作成してください。
★A1形式を使ってセルに数式を入力するには

  • A1形式とは、列を A〜IV 256個のアルファベットで表す表記方法です。
  • セルにA1形式で数式を入力するには、Formulaプロパティを使います。
    次の例を実行するにはセル「D6:D12」に数値データが入力されている必要があります。
    ※「売上集計」シートに数値データがあります。

    Range("D13").Formula = "=SUM(D6:D12)"
    Range("D14").Formula = "=AVERAGE(D6:D12)"
    Range("D15").Formula = "=MAX(D6:D12)"
    Range("D16").Formula = "=MIN(D6:D12)"

★R1C1形式を使ってセルに数式を入力するには

    R1C1形式とは、基準となる位置から「行方向にいくつ、列方向にいくつ」のよ うに相対的にセルを参照します。
    R1C1形式を使ってセルに数式を入力するには、FormulaR1C1プロパティを使い ます。
    次の例では「売上集計」シートを使って、セルの値を合計しています。

    Range("D13").FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)"
    Range("J6").FormulaR1C1 = "=SUM(RC[-6]:RC[-1])"

★配列を数式を使って数式を入力するには

    配列を数式を使って数式を入力するには、FormulaArrayプロパティを使います。 配列とは、表の複数セルを含む範囲をひとつのかたまりとして式の中で取り扱 うものです。
    次の例では「納品書」シートを使って小計を1つの式で求めています。

    Range("F20").FormulaArray = "=SUM(D13:D15*E13:E15)"

★値と数式を区別してセルのデータを取得するには

    Valueプロパティでは値、Formulaプロパティでは数式を入力しますが、Value プロパティで数式を取得、Formulaプロパティで値を取得することもできます。
    次の例では「納品書」シートを使って値や式を取得しています。

    Range("F13").Value = "=D13*E13"
    Range("F36").Formula = "ABC製作所"
    Range("F37").FormulaR1C1 = "DE産業"