Officeスクリプトのセル取得方法:getRange・getValueで効率的に選択・操作する

当ページのリンクには広告が含まれています。
アイキャッチ

「Excelシートから特定のセルや範囲の値を取得したいけど、どうすれば良いか分からない…」
そのように悩んでいませんか?


・Officeスクリプトでセルを取得するには、どのようにしたらいいの?

セルを範囲で取得してみたい

今回は、Officeスクリプトの「getRange や getValues」を
詳しく解説します!


この記事では、Officeスクリプトの「セルの値を取得方法」について解説します。

Officeスクリプトには、シートのセルを取得・選択するためのさまざまなメソッドが用意されています。
セルを直接指定する方法や、選択範囲全体をまとめて取得する方法、現在選択中のセルにアクセスする方法など、作業内容に応じた最適なメソッドを使い分けられるのが特徴です。

本記事では、特に getRangegetValues といった、セルや範囲の値を取得するメソッドを中心に、目的に応じた選択方法を詳しく解説します。


【 この記事の概要 】

よく使う度
難しさ
覚えておくと安心度
目次

この記事を読むと「できるようになる」こと

この記事を読むことで、以下の内容が理解できるようになります。

Officeスクリプトでセルを取得する準備 | シートを取得する方法

Officeスクリプトで、セルや範囲の値を取得するには、まず操作するシートを指定する必要があります。

ここでは、シートの取得に使える代表的なメソッドを一覧にまとめました。

シート取得方法の一覧

スクロールできます
メソッド名機能概要使用例
getActiveWorksheet現在アクティブなシートを取得しますworkbook.getActiveWorksheet()
getWorksheet指定した名前のシートを取得しますworkbook.getWorksheet("Sheet1")
addWorksheet新しいシートを追加し、取得しますworkbook.addWorksheet("NewSheet")
getWorksheetsすべてのシートを配列として取得しますworkbook.getWorksheets()

getActiveWorksheet の概要

本記事では、シート取得方法として getActiveWorksheet を使用します。

getActiveWorksheet の概要
  • 機能
    • 現在操作中のアクティブシートを取得します。
  • 使い方
    • workbook.getActiveWorksheet() を実行するとシートの参照が取得できます。
      取得した変数 sheet を使い、getRangegetValues などのメソッドでセルを操作できます。

このコードで取得した sheet を使って、特定のセルや範囲を取得するメソッド(getRangegetValues など)を呼び出すことができます。

シートの取得は、すべてのセル取得操作の前提となる重要なステップですので、まずシートを取得してから続けてください。

getActiveWorksheet のコード例

function main(workbook: ExcelScript.Workbook) {
  // アクティブシートを取得
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  // ここからセル取得メソッドを使用していきます
}
スポンサーリンク

Officeスクリプトのセル取得メソッド一覧

Officeスクリプトには、セルや範囲を取得するためのメソッドがいくつか用意されています。

用途に合わせて、最適な方法でセルを選択することが可能です。以下に、基本的なセル取得メソッドとその概要を一覧にまとめました。

セルを取得するメソッド一覧

スクロールできます
附番メソッド名機能概要使用例
1getRange特定のセルまたはセル範囲を指定して取得sheet.getRange("A1:B2")
2getRangeByIndexes行と列のインデックスで範囲を指定しセルを取得sheet.getRangeByIndexes(0, 0, 2, 2)
3getValue単一セルの値を取得sheet.getRange("A1").getValue()
4getValues指定範囲のセル値を二次元配列で取得range.getValues()
5getActiveCell現在選択中のセルを取得sheet.getActiveCell()
6getSelectedRanges現在選択中のセル範囲全体を取得workbook.getSelectedRanges()
7getAreas現在選択中の複数セル範囲を取得し、各範囲を分割して扱うselectedRanges.getAreas()
8getUsedRange使用されているセル範囲全体を取得sheet.getUsedRange()

より詳しい情報は、Microsoft公式のExcelScript.Range interfaceを参照してください。

1: getRange を使って特定のセルまたは範囲を取得する

getRange は、Excelシート上の特定のセルやセル範囲を「A1」や「A1:B2」などのアドレス形式で指定して取得するための、Officeスクリプトの基本メソッドです。

用途・使用例
  • 用途
    • 特定のセルや範囲を、直接アドレス(例:「A1」)で指定して取得する場合に使用します。
  • 使用
    • 特定の範囲「A1」を取得し、その範囲内のデータを読み取ったり更新したりする際に便利です。

コード例

getRange("セルアドレス") の形式で、取得したいセルまたはセル範囲のアドレスを指定します。

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let range: ExcelScript.Range = sheet.getRange("A1:B2");  // セル範囲A1からB2までを取得
  console.log(range.getValues());  // 取得した値を表示
}
1: getRange を使って特定のセルまたは範囲を取得する

注意ポイント

getRange でセル範囲を指定する際、範囲外のセル(シート上に存在しないセル)を指定するとエラーが発生します。

範囲指定を行うときは、指定したアドレスがシート上に存在するか確認しましょう。

2: getRangeByIndexes を使ってインデックスで範囲を指定する

getRangeByIndexes メソッドは、行と列のインデックスを指定してセル範囲を取得するためのメソッドです。

用途・使用例
  • 用途
    • 行と列の位置が動的に変わる場合や、特定のセル範囲をインデックス(番号)で柔軟に指定したい場合に使用します。
  • 使用
    • データが追加されるリストや表で、シート上の位置が固定されていない範囲を取得する場合に便利です。

コード例

getRangeByIndexes(開始行, 開始列, 行数, 列数) の形式で範囲を指定します。

以下のコード例では、シートの最初のセル(「A1」に相当する位置)から2行2列の範囲を取得し、その範囲内の値を表示しています。

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let range: ExcelScript.Range = sheet.getRangeByIndexes(0, 0, 2, 2);  // 上から2行、左から2列の範囲を取得
  console.log(range.getValues());
}
2: getRangeByIndexes を使ってインデックスで範囲を指定する

注意ポイント

getRangeByIndexes は、行・列のインデックスと範囲のサイズを正確に指定する必要があります。

指定範囲がシートサイズを超えてしまうとエラーが発生しますので、範囲を取得する前に、インデックスや範囲サイズが適切か確認しておきましょう。

3: getValue を使って単一のセルの値を取得する

getValue は、Excelシート上で特定の1つのセルの値を直接取得するためのメソッドです。

範囲内の複数のセルではなく、単一のセルのデータにアクセスする際に非常に便利です。

用途・使用例
  • 用途
    • 単一のセルの値を取得したい場合に使用します。
      シート上で特定の1つのセルから値を取得し、そのデータを他の処理に活用したい場合に最適です。
  • 使用
    • 指定したセルの値(例えば、「A1」の値)を取得し、その値を基にデータを処理したり、別のセルに書き込んだりする際に便利です。

コード例

getRange("セルアドレス").getValue() の形式で、取得したいセルのアドレスを指定して使用します。

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let cellValue: string | number | boolean = sheet.getRange("A1").getValue();  // セルA1の値を取得
  console.log(cellValue);  // 取得した値を表示
}
3: getValue を使って単一のセルの値を取得する

注意ポイント

getValue は単一のセルを対象にしたメソッドです。
複数のセルから値を取得したい場合には、getValues メソッドを使用しましょう。

取得するセルのデータ型は、数値、文字列、または論理値(true / false)の場合があります。
データ型によって処理が異なる場合は、型を確認してから処理を進めるようにしましょう。

4: getValues で指定範囲内の値を取得する

getValues は、指定したセル範囲の値を二次元配列形式で取得するメソッドです。

用途・使用例
  • 用途
    • 指定したセル範囲の値を二次元配列形式でまとめて取得する場合に使用します。
  • 使用
    • 特定のセル範囲のデータを一括で読み取り、データ処理や分析に活用する際に便利です。

コード例

以下のコードでは、getRange メソッドで指定したセル範囲「A1」を取得し、範囲内のセル値を getValues で読み取って表示します。

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let range: ExcelScript.Range = sheet.getRange("A1:B2");
  let values: (string | number | boolean)[][] = range.getValues();  // 値を二次元配列で取得
  console.log(values);
}
4: getValues で指定範囲内の値を取得する

注意ポイント

getValues は、範囲内のすべてのセル値を取得するため、範囲内に空のセルがある場合も空の値が含まれます。

値が空かどうかのチェックが必要な場合は、配列の要素を確認して処理しましょう。

5: getActiveCell で現在選択中のセルを取得する

getActiveCell は、ユーザーが現在選択しているセル(アクティブセル)を直接取得するメソッドです。

対象のシートを取得してから操作する必要がないため、迅速にアクティブセルを取得・操作したい場合に便利です。

用途・使用例
  • 用途
    • ユーザーが操作中のセルのデータを読み取ったり、更新したりする際に使用します。
      例えば、選択中のセルの内容に基づき、特定の処理を実行するケースで便利です。
  • 使用
    • 現在アクティブなセルの値を取得して、その値を基にした処理を行う場合に有効です。

コード例

以下のコードでは、現在選択中のセルを取得し、そのセルの値をコンソールに表示します。

function main(workbook: ExcelScript.Workbook) {
  // アクティブなセルを取得
  let activeCell: ExcelScript.Range = workbook.getActiveCell();  // 選択中のセルを取得

  // アクティブなセルの値を表示
  console.log(activeCell.getValue());  // 選択中のセルの値を表示
}
5: getActiveCell で現在選択中のセルを取得する

注意ポイント

  • getActiveCell を使用する場合、シートを変数として取得する必要はありません。workbook.getActiveCell() のみで現在のアクティブセルにアクセスできるため、コードが簡潔になります。
  • getActiveCell は、アクティブなセルが選択されていないとエラーが発生します。
    事前にアクティブセルが存在するかを確認してから使用すると安全です。

6: getSelectedRanges で現在選択中のセル範囲を取得する

getSelectedRangesは、ユーザーが選択中のセル範囲を取得するためのメソッドです。

複数のセル範囲が選択されている場合でも、そのすべてを一度に操作できるため、データの一括処理や書式設定を行いたいときに便利です。

用途・使用例
  • 用途
    • 選択中の複数セル範囲のデータをまとめて取得し、操作したい場合に使用します。
  • 使用
    • 選択した範囲のデータを一括で読み取って分析したり、全範囲の書式を変更したりする場合に役立ちます。

コード例

以下のコードでは、選択中のセル範囲を取得し、範囲ごとにセルの値を表示します。

function main(workbook: ExcelScript.Workbook) {
  // 選択中のセル範囲を取得
  let selectedRanges: ExcelScript.RangeAreas = workbook.getSelectedRanges();

  // 選択範囲の値を表示
  selectedRanges.getAreas().forEach((range) => {
    console.log(range.getValues());
  });
}
6: getSelectedRanges で現在選択中のセル範囲を取得する

注意ポイント

  • getSelectedRanges メソッドは、選択されている複数の範囲を一度に取得でき、RangeAreas オブジェクトとして返します。
    そのため、コード例のように getAreas() メソッドで各範囲にアクセスし、それぞれの範囲のデータを処理できます。
  • getSelectedRangesworkbook から直接取得可能で、アクティブシートを指定する必要がありません。
    そのため、コードがシンプルになり、すばやく選択範囲にアクセスできます。

7: getAreas で選択範囲内の個別セル範囲を取得する

getAreas は、getSelectedRanges メソッドで取得した RangeAreas オブジェクトから、それぞれの選択範囲を個別に取得するためのメソッドです。

複数のセル範囲が選択されている際に、各範囲にアクセスし、それぞれのデータを個別に処理することができます。

用途・使用例
  • 用途
    • 選択されている複数の範囲に対して、各範囲を個別に取得し操作したい場合に使用します。
      例えば、各範囲に異なる処理を適用したり、特定の条件に基づいてデータを操作する際に便利です。
  • 使用
    • ユーザーが選択した複数のセル範囲に対して、範囲ごとにデータを確認したり、書式を変更したりする場合に役立ちます。

コード例

以下のコードでは、getSelectedRanges で取得した複数の選択範囲から、getAreas を使って個別の範囲ごとにセルの値を表示しています。

function main(workbook: ExcelScript.Workbook) {
  // 選択中のセル範囲を取得
  let selectedRanges: ExcelScript.RangeAreas = workbook.getSelectedRanges();

  // 各選択範囲の値を表示
  selectedRanges.getAreas().forEach((range) => {
    console.log(range.getValues());  // 各範囲の値を個別に表示
  });
}
7: getAreas で選択範囲内の個別セル範囲を取得する

注意ポイント

  • getAreas メソッドは、RangeAreas オブジェクトから各範囲(Range オブジェクト)を個別に取得します。そのため、コード例のように forEach でループ処理を行うことで、各範囲に対して個別の処理が可能です。
  • getSelectedRanges メソッドで RangeAreas を取得後に getAreas を使用することで、選択中の複数の範囲を簡単に分割し、範囲ごとに異なる処理を柔軟に適用できます。

8: getUsedRange で使用されているセル範囲全体を取得する

getUsedRange メソッドは、データが入力されている最小の範囲を一括で取得できるメソッドです。
すべての使用セルを対象に処理を行いたい場合に便利です。

用途・使用例
  • 用途
    • シート上で実際にデータが入力されている範囲全体を取得したい場合に使用します。
  • 使用
    • すべてのデータが入力されている範囲を対象に処理を行いたい場合や、シート全体のデータを取得して集計・分析する際に便利です。

コード例

以下のコードでは、使用されている範囲を取得し、その範囲内のセル値を表示します。

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let usedRange: ExcelScript.Range = sheet.getUsedRange();  // 使用中のセル範囲を取得
  console.log(usedRange.getValues());  // 使用中の範囲の値を表示
}
8: getUsedRange で使用されているセル範囲全体を取得する

注意ポイント

getUsedRange は、書式設定されたセル・空白スペースのセルも使用範囲に含むことがあります。

実際にデータが入力されたセルのみを対象にしたい場合は、追加のチェックが必要です。

getUsedRangeについて、別記事で詳細を解説しています。 ぜひご覧ください。

あわせて読みたい
Officeスクリプトで最終行・最終列を正確に取得する!getUsedRangeの限界と関数化での解決法 「Officeスクリプトで、最終行・最終列を取得するにはどうやればいいの…」そのように悩んでいませんか? ・getUsedRange() メソッドを使用すると、 書式が設定されたセ...
スポンサーリンク

Officeスクリプトのセルを取得する方法の使用例をご紹介

それでは、Officeスクリプトでセルを取得する方法を紹介します。

以下に紹介する使用例は、すべてコピペしてすぐに実行できるコードです。
気になる例は、ぜひご覧いただき、実際に実行してみてください。

Officeスクリプトの基礎から応用までを効率よくしっかり学習したい方には、UdemyのOfficeスクリプト講座もおすすめです。

特に自己学習で進める場合、ビデオや実践例があると理解が進みやすくなります。

使用例1: 指定範囲のデータを取得して集計する

シートの特定範囲内にあるデータを取得し、特定の列の合計を算出する処理を実行します。

この操作を理解することで、範囲内のデータを自動で集計したり、分析する際に応用できます。

コード例 | 指定範囲のデータを取得して集計する

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let range: ExcelScript.Range = sheet.getRange("A1:C3");  // A1からC3の範囲を取得
  let values: (number | string | boolean)[][] = range.getValues();  // 取得した値を二次元配列で格納
  
  let sum: number = 0;
  for (let i: number = 0; i < values.length; i++) {
    let cellValue = values[i][1];  // 2列目(B列)の値を取得
    if (typeof cellValue === 'number') {
      sum += cellValue;  // 数値があれば加算
    }
  }
  console.log("B列の合計: ", sum);
}

処理結果

使用例1: 指定範囲のデータを取得して集計するの結果

コードの動作概要

STEP
指定範囲のデータを取得

getRange("A1:C3")で「A1」から「C3」までのデータを一括取得し、getValuesで範囲内の値を二次元配列として取得します。

STEP
合計を計算

forループを使い、二次元配列の中からB列(2列目)の数値のみを抽出し、合計します。

STEP
合計結果を表示

合計した結果をconsole.logで表示し、B列の値が一目でわかるようにします。

このコードで使用している機能

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook)
    • Officeスクリプトのメイン関数「main」を定義しています。
      workbookパラメータが渡され、Excelのワークブック全体を操作できるようになります。
      このパラメータは「ExcelScript.Workbook型」で定義されており、これにより関数内でワークブックの操作が可能です。
  2. let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
    • この行では、現在アクティブなシートを取得しています。
      「ExcelScript.Worksheet型」で宣言された「sheet」変数に格納することで、以降のコードでこのシートを対象とした操作を行います。
  3. let range: ExcelScript.Range = sheet.getRange(“A1:C3”);
    • getRange(“A1:C3”)メソッドを使用して、セル範囲「A1」から「C3」までを取得し、この範囲を「ExcelScript.Range型」の変数「range」に格納します。
      これにより、指定した範囲内でのセル操作が可能になります。
  4. let values: (number | string | boolean)[][] = range.getValues();
    • 範囲内のセル値を二次元配列として取得し、「values」という変数に格納しています。
      この配列は「number | string | boolean型」のデータを格納できるため、セル内に数値、文字列、論理値が入っている場合も一括で処理できます。
  5. let sum: number = 0;
    • 合計を計算するための変数「sum」をnumber型で宣言し、初期値を「0」に設定します。
      この変数を使って、B列の数値データを順次合計していきます。
  6. for (let i: number = 0; i < values.length; i++)
    • forループを使用して二次元配列の行数分だけ繰り返し処理を行います。
      変数「i」はループカウンターで、配列の各行にアクセスします。
  7. let cellValue = values[i][1];
    • 配列「values」の2列目(B列のデータ)を「cellValue」変数に代入しています。
      これにより、B列にあるすべてのセルデータに順番にアクセスできます。
  8. if (typeof cellValue === ‘number’) { sum += cellValue; }
    • B列のセル値が数値型であるかを確認し、数値の場合は合計変数「sum」に加算します。
      この条件を使用することで、数値以外のデータが含まれていても安全に合計できます。
  9. console.log(“B列の合計: “, sum);
    • 合計結果をコンソールに出力します。
      このメッセージにより、B列の合計値を確認できます。
  10. }
    • 関数「main」の終了を示しています。

総括・ポイント

このコード例では、forループを使用して、指定範囲内のセルデータを自動的に集計する手順が示されています。

配列処理と条件分岐を組み合わせることで、大量データの一括処理が可能です。

範囲指定やループ処理を活用することで、Officeスクリプトを使ったデータ処理がより効果的に自動化できます。

使用例2: 現在選択中のセルの値を変更する

この使用例では、ユーザーが現在選択しているセルにアクセスし、そのセルの値を確認してから変更します。

セルの値が数値の場合は10を加算し、それ以外の場合は新たに10を設定する動的な処理を行います。

コード例 | 現在選択中のセルの値を変更する

function main(workbook: ExcelScript.Workbook) {
  let activeCell = workbook.getActiveCell();  // 現在選択中のセルを取得
  
  let cellValue = activeCell.getValue();  // セルの値を取得
  if (typeof cellValue === 'number') {
    activeCell.setValue(cellValue + 10);  // 数値なら10を加算
  } else {
    activeCell.setValue(10);  // 数値でない場合は10を設定
  }
}

処理結果

使用例2: 現在選択中のセルの値を変更する

コードの動作概要

STEP
アクティブなセルを取得

workbook.getActiveCell() メソッドで、現在選択されているセルを取得し、activeCell 変数に格納します。
シート全体を指定することなく、選択されているセルに直接アクセスできる点がポイントです。

STEP
アクティブセルの値の確認と変更

activeCell.getValue() メソッドを使用して現在の値を取得し、その値の型を判別します。値が数値型であれば10を加算し、数値でなければ新たに10を設定します。

STEP
変更後の値をセルに反映

activeCell.setValue() メソッドを使って、条件に基づいて変更された値をセルに設定します。

このコードで使用している機能

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook)
    • Officeスクリプトのメイン関数「main」を定義しています。
      workbookパラメータが渡され、Excelのワークブック全体を操作できるようになります。
      このパラメータは「ExcelScript.Workbook型」で定義されており、関数内でワークブックの操作が可能です。
  2. let activeCell: ExcelScript.Range = workbook.getActiveCell();
    • getActiveCellメソッドを使って、現在選択中のセル(アクティブセル)を直接取得し、変数「activeCell」に格納しています。
      この変数はExcelScript.Range型で宣言され、セルの値取得や設定に使用されます。
      ※ この場合、シートの取得は不要で、直接アクティブセルにアクセスできます。
  3. let cellValue: number | string | boolean = activeCell.getValue();
    • 選択されたセルの値を取得し、「cellValue」に格納します。
      「number | string | boolean型」で定義しており、数値、文字列、または論理値(true/false)のいずれかが格納されます。
  4. if (typeof cellValue === ‘number’) { activeCell.setValue(cellValue + 10); }
    • if文でセルの値が数値型かどうかを確認します。
      数値であれば、setValueメソッドを使用して現在の値に「10」を加算します。
  5. else { activeCell.setValue(10); }
    • ifの条件が満たされなかった場合、つまりセルの値が数値以外であった場合には、値「10」を新たに設定します。
  6. }
    • 関数「main」の終了を示しています。

総括・ポイント

このコード例では、ユーザーが選択したセルの値に対して条件付きの変更を行う方法を示しています。

選択セルに基づいた動的なデータ入力や加算ができるため、セル内容の変更が簡単に自動化できます。

条件分岐を使うことで、数値の有無に応じた柔軟なデータ操作が可能です。

使用例3: 使用されているセル範囲全体の背景色を変更する

シート上でデータが入力されているセル範囲全体を取得し、その範囲のセルの背景色を設定します。

このコードを使うことで、入力済みのデータ範囲に視覚的な強調を加えることができます。

コード例 | 使用されているセル範囲全体の背景色を変更する

function main(workbook: ExcelScript.Workbook) {
  let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let usedRange: ExcelScript.Range = sheet.getUsedRange();  // 使用中のセル範囲を取得

  let fillFormat: ExcelScript.RangeFill = usedRange.getFormat().getFill();  // セルの塗りつぶし書式を取得
  fillFormat.setColor("yellow");  // 塗りつぶし色を黄色に設定
}

処理結果

使用例3: 使用されているセル範囲全体の背景色を変更する

コードの動作概要

STEP
使用されているセル範囲を取得

getUsedRangeメソッドで、シート上でデータが入力されているセル範囲全体を取得し、usedRangeという変数に格納します。

STEP
背景色の設定

getFormat().getFill()を使用して取得範囲の塗りつぶしフォーマット(背景色)を取得し、setColor("yellow")で背景色を黄色に設定します。

このコードで使用している機能

  • let (変数)
    • letは変数を宣言するためのキーワードです。
  • getUsedRange(使用中セル範囲の取得)
    • データが入力されている範囲を一括で取得します。
  • getFormat(書式設定)
    • セル範囲の書式を取得します。
  • getFill(塗りつぶし設定)
    • セルの塗りつぶし(背景色)設定を取得します。
  • setColor(背景色の設定)
    • セル範囲の背景色を設定します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook)
    • Officeスクリプトのメイン関数「main」を定義しています。
      workbookパラメータが渡され、Excelのワークブック全体を操作できるようになります。
      このパラメータは「ExcelScript.Workbook型」で定義されており、関数内でワークブックの操作が可能です。
  2. let sheet: ExcelScript.Worksheet = workbook.getActiveWorksheet();
    • 現在アクティブなシートを取得し、変数「sheet」に格納しています。
      これにより、コード内でアクティブなシートに対して操作を行えるようになります。
  3. let usedRange: ExcelScript.Range = sheet.getUsedRange();
    • getUsedRangeメソッドで、アクティブシート内でデータが入力されているセル範囲を一括取得し、変数「usedRange」に格納します。
      ExcelScript.Range型で宣言されているため、範囲内のセル操作が可能です。
  4. let fillFormat: ExcelScript.RangeFill = usedRange.getFormat().getFill();
    • getFormat().getFill()を使用して、セルの塗りつぶし書式を取得し、「fillFormat」に格納します。
      この変数はExcelScript.RangeFill型で宣言され、背景色やパターンの設定が可能です。
  5. fillFormat.setColor(“yellow”);
    • setColorメソッドで、塗りつぶし書式に黄色を設定します。
      指定したセル範囲の背景色がすべて黄色に変更されます。
  6. }
    • 関数「main」の終了を示しています。

総括・ポイント

このコード例では、getUsedRangeメソッドを使用してデータが入力されている範囲全体を取得し、背景色を変更する方法を示しています。

これにより、使用されているセルだけを視覚的に強調でき、データの見やすさを向上させることが可能です。

この記事のまとめ

この記事では、OfficeスクリプトでExcelシートのセルや範囲の値を取得するためのさまざまな方法について解説しました。

Officeスクリプトを活用することで、セルや範囲のデータ取得を効率化し、Excel上のデータ操作を一層スムーズに行うことができます。

ポイントのおさらい

さらに学ぶために

このまとめを参考にして、Excel上のデータ取得や自動化にOfficeスクリプトをぜひ活用してみてください!

基本的なメソッドをしっかり理解することで、Excelでの作業効率が格段に向上します。

あわせて読みたい
サイトマップ VBAOfficeスクリプトワークシート関数 VBA 基本設定 VBAとは? VBAの始め方 VBAのおすすめ設定 セル操作 RangeとCells CurrentRegion Offset Resize 最終行・最終列の取...
スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次