スプレッドシートの値はそのまま、色と枠だけ消す

GAS

スプレッドシートの見た目をリセットするとき、GASで書式のみクリアしたい場面によく遭遇します。データを作り直すのではなく、入力済みのテキストや数式はそのまま残したいという状況です。

書式と同時に値まで消えてしまう状態

範囲内のデータを消去するときによく使われる clear() メソッドですが、これを実行すると、セル内の値や数式はもちろん、背景色や罫線まですべてが真っ白に全消去されてしまいます。データだけは残したかったはずが、一緒に初期化されてしまうのがこの状態です。

スプレッドシートの値はそのまま、色と枠だけ消す状態

本当にやりたいのは、セルの値やデータを保持したまま、背景色や罫線などの書式設定のみを削除することです。ハイライトのために付けたセルの色や、仮で引いた枠線を一旦リセットし、入力されているデータ自体には影響を与えないようにします。

必要なものだけ残すための処理コード

対象のセル範囲に対して、書式専用のクリアメソッドを実行します。

const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1:D10").clearFormat();

このように clearFormat() を呼び出すことで、スプレッドシートの値はそのまま、色と枠だけ消すことができます。

状況に応じたクリア系メソッドの使い分け

GASのクリア処理にはいくつか種類があり、消したい対象によってメソッドを選択します。

  • clear(): 値も数式も書式も全消去します。完全に初期化したいときに使います。
  • clearFormat(): 書式のみ初期化します。データは保持されます。
  • clearContent(): 値のみを消去します。枠線や背景色などの書式は残したいときに便利です。
  • clearNote(): セルに付与されたメモのみを消去します。
タイトルとURLをコピーしました