

Office Scripts、活用してますか?
「いや、あんまり…」という方、もったいない!
わざわざこのプログラムのコード(TypeScript)を覚えなくても、「レコーディングから作成する」ボタン一発で、パソコンが勝手にコードを書いてくれますからね。
そう! VBAマクロを記録したことがある人ならわかると思いますが、レコーダーを起動させながらExcelでの資料作成をすると、その手順がすべてプログラムとして記録される機能です。
この機能、便利ですよね。なにしろ、「コンピュータ・プログラミングの独学には、9割の人が挫折する」といわれるなかで、プログラミングを覚えずに自動化が達成できてしまうんですから。
今回は、このOffice Scriptsの「レコーディング」をさらに便利にする、AIとのコラボレーション事例をご紹介します。
「基準値以上/以下を自動マーキング」
レコーディングすれば、ボタン一発で、同じ操作が何度でもくり返せます
たとえば、以下のような生データがあるとします(小売店など、多くの職場で記録される日販(1日あたり販売売上高データ)記録です。※ダミー


実際には、各日の天候だったり、来店客数推移などと比較し、「よかった」「わるかった」などの要因分析に使います。
しかし、それ以前に、各日の日販データが「よい」のか「わるい」のか、この数字の羅列をながめるだけでは、よくわかりませんよね?
そんな時によく使うのが、「条件付き書式」による色わけです。
たとえば、ためしに「40,000円以上を緑地」、「20,000円以上を赤地」へ自動的に変更する操作を、Office Scriptsのレコーダーで保存してみましょう。


あっという間に、よしあしを赤と緑で色分けする自動化プログラムができました。一度、書式を消去してみても、プログラム自体はOneDriveへ保存されていますから、何度でも同じ識別が再現可能です。
ね? 便利でしょ!
では、時が流れて、2月分のデータが追加された時、このプログラムはどのように動くでしょうか?


あれ?
色わけは1月いっぱいで途切れて、2月分のデータは何もかわらず、でしたね。
そりゃそうですよ。
「レコーディング」では、データの最終行を自動的に検出する操作は保存できないんですから。
う〜ん、困った。やっぱりプログラム言語(TypeScript)を覚えなきゃいけないんだろうか….
いえいえ、そんなことはございません!
困ったことは、AIに聞いてみましょう!
意味がわからないコードは、AIに聞いてみましょう


Excelサイドペイン(右ウインドウ)に表示される、Office Scriptsの「編集」ボタンをクリックしてみてください。意味がよくわからないTypeScriptのプログラムが表示されますから、意味がわからないまま、生成AIのチャットボットにはりつけてみてください。


今回は、Google Geminiにたずねてみました。
【プロンプト】
以下に貼り付けたOffice Scriptsのコードを、レコード数(行数)が無限にふえても同じ条件付き書式にできるように、動的なプログラムに変更してください。
function main(workbook: ExcelScript.Workbook) { 以下省略 }
【Google Geminiからの回答】
変更点:
最終行の取得: selectedSheet.getRange(“B:B”).getLastCell().getRowIndex() + 1 でB列の最終行の行番号を取得します。
動的な範囲設定: selectedSheet.getRange(“B2:B” + lastRow) で、B2セルからB列の最終行までの範囲を動的に設定します。
条件付き書式の適用: range 変数に格納された動的な範囲に対して、条件付き書式を適用します。
TypeScriptで記述された「最終行番号取得」のプログラムが提示されますから、それをそのままコピー&ペーストでOffice Scriptsのコードエディタへと貼り付けます。


変更されたOfficeScriptsは、的確にこのレコードの最終行をさがし出しました。
さらに行が追加されても、迷うことなく最終行を検知できています。


このように、レコーディングによる記録では作りえないプログラムは、どう作ったらよいかを、AIに相談してみるとよいでしょう。
自分自身が勉強してからコードを書き始めるよりはるかに短期間で、高品質なExcel自動化プログラムを取得することができますよ。
まとめ;Office Scripts「レコーディング」でも記録できない自動化作業は、AIに問いかけてみると解決できることがあります!
Excelの用途が「お仕事情報の蓄積」なら、「同じ作業の繰り返し」をする頻度は、かなり高まります。
必然的に【作業自動化】の重要度は増しますが、Office Scriptsの「レコーディングから作成する」を選択すれば、プログラム・コードを書かなくても簡単な「自動化」は、すぐに実現可能になります。
とはいえ、「レコーディング」では記録できないScriptsのコードというものも多くあります。そのような場合には、「コードの書き方」を調べるのではなく、生成AIに「コードを(○○できるように)書き換えて!」とたずねてみてはいかがでしょうか?



生成AIから受け取れる回答にはまだムラがあり、「確実に改善できる」と保障できるメソッドではありませんが、それでも想像以上に簡単に、高品質な【作業自動化】プログラムを取得できる可能性がありますよ!
■ 「VBA健康診断」始めます。
私たちが長年培ってきた「現場の知見」を掛け合わせ、「VBA健康診断・仕様書化パック」という新サービスを正式にリリースしました。
- 仕様書のないマクロのドキュメント化
- 隠れたバグや「2025年の崖」リスクの洗い出し
- 将来的なWebシステム化への移行ロードマップ作成
これらを、従来の常識を覆すスピードと価格で提供します。
\ まずは無料診断から /














