Excel Office スクリプト セルへの値の設定/セルからの値の取得

2021年7月6日

Office スクリプトにおけるセルの値の基本的な操作方法を紹介します。

解説

スクリプトの記録を使うとアクティブシートを対象にしますが、

起動する場所によって挙動が変わってしまうため、

シート名を指定しての操作を推奨します。

セルへの値の設定

以下のコードで任意のセルに値を設定します。(赤字は適宜変更

workbook.getWorksheet("テストシート").getRange("セルアドレス").setValue("設定値");

次の例ではテストシートのD4セルに123を設定します。

セルからの値の取得

以下のコードで任意のセルから値を取得し、変数に格納します。(赤字は適宜変更

let 変数名 = workbook.getWorksheet("シート名").getRange("セルアドレス").getValue();

次の例ではテストシートのD4セルの値を取得し変数valに設定します。

セルからセルへの転記

以下のコードで任意のセルからセルに値を転記します。(赤字は適宜変更

let 変数名 = workbook.getWorksheet("転記元シート名").getRange("転記元セルアドレス").getValue();
workbook.getWorksheet("転記先テストシート").getRange("転記先セルアドレス").setValue(変数名);

次の例ではテストシートのD4セルの値を取得し変数valに設定し

その値をD5セルに設定します。(D4からD5への転記)

次のようにすると変数なしで転記します。

  workbook.getWorksheet("転記元シート名").getRange("転記元セルアドレス").setValue(
    workbook.getWorksheet("転記先テストシート").getRange("転記先セルアドレス").getValue()
  );

次のようにすると任意の計算をして転記します。(転記元が数値でないとエラーになります)

let 変数名 = workbook.getWorksheet("転記元シート名").getRange("転記元セルアドレス").getValue();
workbook.getWorksheet("転記先シート名").getRange("転記先セルアドレス").setValue(Number(変数名) + 加算する数);

次の例ではテストシートのD4セルの値を取得し変数valに設定し

その値に25を足してをD5セルに設定します。(D4からD5への転記)

Number関数は文字列を数値に変換する関数です。

これを利用しないと文字列として扱われてしまいエラーします。

数式が長くて読みづらいようであれば改行とインデントも可能です。

let 変数名 = workbook.getWorksheet("転記元シート名").getRange("転記元セルアドレス").getValue(); 
workbook.getWorksheet("転記先シート名").getRange("転記先セルアドレス").setValue(
 Number(変数名) + 加算する数
);

変数なしでも可能です。(読みづらくなりますが)

  workbook.getWorksheet("転記元シート名").getRange("転記元セルアドレス").setValue(
    Number(workbook.getWorksheet("転記先テストシート").getRange("転記先セルアドレス").getValue()) + 25
  );

セルアドレスでなく行・列番号で指定

getRange(“セルアドレス")を次のように変更すると番号での指定になります。

この指定では1行め、1列目は0から始まる点に注意が必要です。

getCell(行番号 - 1, 列番号 - 1)

次の記事

セル(行・列)の削除

関連記事

Excel Office スクリプトの記事一覧