Officeスクリプトでセルの水平方向の配置を簡単に設定する方法【完全ガイド】

当ページのリンクには広告 (Amazonアソシエイト含む) が含まれています。
アイキャッチ

Officeスクリプトを使って、Excelセルの文字位置を中央揃えや右揃えにしたいけど、どうやればいいのかわからない…」
そんなお悩み、ありませんか?


セルの文字を中央揃え・左揃え・右揃えにしたいけど、どのコードを使えばいいのか分からない

複数のセル範囲に対して一括で配置設定を行いたい

この記事では、OfficeスクリプトでExcelの文字位置を中央位置や右揃えにする方法を、初心者にもわかりやすく解説します!


Excelの作業を自動化していると、見た目の調整(セルの配置)も大事になってきますよね。
特に、タイトル行や数値の整列がバラバラだと、表が読みづらくなる原因になってしまいます。

この記事では、Officeスクリプト初心者の方でもすぐに使えるように、以下のことを重点的に下記設します。

こんな事を重点的に解説します
  • setHorizontalAlignment() メソッドを使ったセルの文字位置(水平配置)変更の方法
  • 単一セル・セル範囲の中央揃え・右揃え・左揃えのコード例
  • 空白セルや配置ミスの注意点やコツ

初めてOfficeスクリプトに触れる方でも安心して取り組める内容になっています。
読み終えるころには、Excelの文字位置を自在に調整できるスクリプトの基本が身につきます。
表やレポートの「見た目のクオリティ」もグッと上がりますよ!


【 この記事の概要 】

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

「Officeスクリプト、いざ始めようと思ったけど、何から手をつけていいのか分からない…」
と悩んでいませんか?

最初の学習で迷うと、やる気も続かなくなってしまいますよね。

そんな方におすすめなのが、
初心者がつまずきやすいポイントをしっかりフォローした入門書です。

  • 基礎から丁寧に解説、初心者でも安心
  • 具体的な実践例つきで現場ですぐに活かせる
  • 手元に置いていつでも確認できる

「動画も良いけど、まずは書籍でじっくり学びたい」という方には、特におすすめです。

目次

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

セルの文字位置を水平方向に整えると何が良いの?

Excelで表やリストを作っていると、「とりあえず入力できたからOK!」で終わってしまうこと、ありませんか?
でも実は、セルの文字位置(水平方向)を揃えるだけで、表の見た目や使いやすさがグッと良くなるんです。

文字位置を揃えるメリット

メリット
  • 見た目がスッキリして、伝わりやすくなる
    • 文字の位置がバラバラな表って、どこを見ていいか分からなくなりますよね。
      たとえば、タイトルは中央揃え、数値は右揃えにするだけで、パッと見て内容が理解しやすくなります。
  • 作業効率・見直し効率がアップ
    • 整った配置だと、どこに何があるか一目で分かるので、修正や確認もスムーズ。
      データの見落としやミスも減らせます。
  • 社内資料や報告書の「印象」がグッと良くなる
    • 同じ表でも、文字位置が整っていると「きちんとしてる」感が出ます。
      提出資料やプレゼンの第一印象にも効果バツグンです。
  • Officeスクリプトで一括設定すれば時短に!
    • 手作業で1セルずつ配置を変えるのは、地味に手間がかかります。
      でもOfficeスクリプトなら、複数セルに一括で中央揃えや右揃えが設定可能!
      定型レポートの整形も一瞬で完了です。

Officeスクリプトでセルの水平方向の配置を設定する基本 : setHorizontalAlignment()メソッド

Officeスクリプトでは、セルの水平方向の配置を設定するために setHorizontalAlignment()メソッド を使用します。
このメソッドは、セルの内容を左揃え、中央揃え、右揃えなどに設定する際に使用されます。

setHorizontalAlignment()メソッドの基本構文

setHorizontalAlignment()メソッドの基本構文
スクロールできます
配置オプション説明一般的な使用目的
leftセル内のテキストや数値を
左揃えにします。
テキストや数値を見やすくするために
使用されます。
centerセル内のテキストや数値を
中央揃えにします。
タイトルや見出しなどで使われます。
rightセル内のテキストや数値を
右揃えにします。
通常、数値の整列に使われることが
多いです。
fillセル内のテキストや数値を
セル全体に繰り返し
ます。
特定のパターンを繰り返す場合に
使います。
justifyセル内のテキストを
両端揃え
にします。
複数行のテキストで、文末が不揃いに
ならないように使用されます。
centerAcrossSelection選択されたセル範囲の
中央にテキストを配置
します。
範囲全体に1つのテキストを
中央配置したい場合に使われます。
distributed均等割り付けにより
テキストを配置
します。
テキストの間隔を均等に保つために
使用されます。

さらに詳細な仕様については、Microsoft公式 – ExcelScript.HorizontalAlignment enumを参照してください。

基本的な使用方法をご紹介

left : セルの文字を「左揃えにしてみる

function main(workbook: ExcelScript.Workbook): void {
    const sheet = workbook.getActiveWorksheet();
    const range = sheet.getRange("A1");

    // セルの文字を中央揃えに設定
    range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.left);
}
セルの文字を「左揃え」にしてみる

center : セルの文字を「中央揃えにしてみる

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // セルの文字を中央揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.center);
}
セルの文字を「中央揃え」にしてみる
function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // セルの文字を右揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.right);
}
セルの文字を「右揃え」にしてみる

fill : セルの文字をセル全体に繰り返しにしてみる

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // セルの文字をセル全体に繰り返しに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.fill);
}
セルの文字を「セル全体に繰り返し」にしてみる

justify : セルの文字を両端揃えにしてみる

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // セルの文字を両端揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.justify);
}
セルの文字を「両端揃え」にしてみる
⚠ 注意ポイント:justify(両端揃え)とleft(左詰め)の違いに注意!

両端揃え(justify)と左詰め(left)は、見た目が似ているように感じることがありますが、動作や使いどころに明確な違いがあります。

両者の違いを比較表でチェック!

スクロールできます
項目justify
(両端揃え)
left
(左詰め)
表示位置行の先頭と末尾がセル幅に揃うように
単語間隔を自動調整
文字がセルの左端に詰めて表示される
複数行への対応複数行になると効果を発揮
(単語の間にスペース)
1行でも複数行でも同じく左揃え
自動改行(WrapText)必須(setWrapText(true)不要(1行でもOK)
見た目の特徴両端がピタッと揃って読みやすく
整った印象
シンプルで自然な表示
向いている用途プレゼン用資料、説明文、
表のコメント欄など
通常のセル入力、列タイトルなど

centerAcrossSelection : セルの文字を中央にテキストを配置にしてみる

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // セルの文字をセルの中央にテキストを配置
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.centerAcrossSelection);
}
セルの文字を「中央にテキストを配置」にしてみる
⚠ 注意ポイント:centerAcrossSelection(中央にテキストを配置)と center(中央揃え)の違いに注意!

centerAcrossSelection(選択範囲の中央配置)と center(中央揃え)は、見た目は似ていますが、動作や使い方がまったく異なります。

両者の違いを比較表でチェック!

スクロールできます
項目centerAcrossSelection
(選択範囲の中央配置)
center
(中央揃え)
表示位置選択した複数セルの中央に
見えるように表示
1セル内の中央に表示
適用範囲複数セルを選択する必要あり
(例:A1:C1)
1セルのみでもOK(例:A1)
実際のデータ入力位置左端のセルのみに値を設定入力セルと表示セルが同じ
セル結合の有無結合なし(見た目だけ中央)結合なし
データ処理への影響結合していないため、並び替え・
フィルターも問題なし
同様に影響なし
向いている用途タイトルや表の見出しを結合せず
整える
通常の中央揃え(短文や見出しの中央表示)
注意点複数セルを指定しないと効果が
出ない
どんなセル範囲でも動作する

distributed : セルの文字を均等割り付けによりテキストを配置」にしてみる

function main(workbook: ExcelScript.Workbook): void {
    const sheet = workbook.getActiveWorksheet();
    const range = sheet.getRange("A1");

    // セルの文字を均等割り付けによりテキストを配置
    range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.distributed);
}
セルの文字を「均等割り付けによりテキストを配置」にしてみる

注意!Officeスクリプトでセルの水平方向を設定するときによくある3つの落とし穴

注意点①:justify は1行だけだと効果が出ない

両端揃え(justify)は、テキストが複数行にならないと見た目に効果が出ません。
改行なしの1行テキストでは、左揃えと同じ表示になってしまい、「反映されてない?」と勘違いしがちです。

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // 短いテキストを設定
  range.setValue("justifyテスト");

  // セルの幅は広いまま(改行もない)
  // 自動折り返しも設定しない
  // 両端揃えに設定だけする
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.justify);
}
注意点①:justify は1行だけだと効果が出ないの失敗例

対策

  • range.getFormat().setWrapText(true) で自動折り返しをONします。
  • セル幅を狭める or 長文にして、複数行表示になるよう調整しましょう。
function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // 長めのテキストを設定(改行なし)
  range.setValue("これは justify のテストです。justify は複数行になったときに効果を発揮します。文字間隔を調整して、両端を揃えてくれます。");

  // セルの幅を狭くして自動折り返し
  range.getFormat().setColumnWidth(30);

  // 自動折り返しを有効にする
  range.getFormat().setWrapText(true);

  // 両端揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.justify);
}
注意点①:justify は1行だけだと効果が出ないの正しい例

注意点②:centerAcrossSelection は1セルでは効果なし

enterAcrossSelection は、複数のセルをまたいで中央揃えに見せるための設定です。
1セルだけ(例:A1)に適用しても、何も変化せず左揃えのままになります。

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1");

  // 1セルだけ指定して値を入力
  range.setValue("Center Across Selection テスト");

  // 中央にテキストを配置しようとするが…
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.centerAcrossSelection);
}
注意点②:centerAcrossSelection は1セルでは効果なしの失敗例

対策

  • getRange("A1:C1") のように、必ず複数セルを選択して使う
  • 値を入れるのは左端のセル(例:A1)だけ、他のセルは空欄のままでOK
function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:C1");

  // 左端のセルにだけ値を入力
  range.getCell(0, 0).setValue("Center Across Selection テスト");

  // セルを結合せずに範囲中央にテキストを表示
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.centerAcrossSelection);
}
注意点②:centerAcrossSelection は1セルでは効果なしの問題ない例

Officeスクリプトでセルの水平方向を変更した使用例をご紹介

それでは、Officeスクリプトで水平位置を変更する方法の具体的な例を紹介します。

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

Officeスクリプトを「基礎からしっかり学んで業務効率化したい」方には、
動画で学べる UdemyのOfficeスクリプト講座 がおすすめです。

  • 初心者でも迷わないステップバイステップ動画解説
  • 豊富な実践例で現場ですぐ使えるスキルが身につく
  • スマホやPCからいつでも繰り返し視聴可能

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

Udemyでoffice scriptを検索
Udemyでoffice scriptを検索 画像出典:Udemy

\  自分のペースで学べるOfficeスクリプト講座はこちら  /

使用例1: 選択したセル範囲の文字を一括で中央揃えにする

このコードでは、指定した範囲(例:A1~C5)のすべてのセルについて、文字を中央揃えに一括変更します。
エクセル上の「表データ」などに統一感を持たせたいときに便利な方法です。

コード例

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:C3");

  // 選択範囲内すべてのセルの水平方向を中央揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.center);
}

処理結果

使用例1の結果

コードの動作概要

STEP
ワークシートの取得

アクティブなシートを取得します。

STEP
対象範囲の設定

中央揃えにしたい範囲(A1~C3)を選びます。

STEP
水平方向の中央揃え設定

指定範囲全体の文字を中央揃えに一括設定します。

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

スクロールできます
機能名説明
getActiveWorksheet()現在作業中のシートを取得します。
getRange(“A1:C3”)A1からC3までのセル範囲を選択します。
getFormat().setHorizontalAlignment()セルの文字の水平方向の位置を設定します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook): void {
    • スクリプトの開始を定義します。
      workbook は現在開いているExcelファイルを表します。
  2. const sheet = workbook.getActiveWorksheet();
    • 現在アクティブになっているワークシート(シート)を取得します。
  3. const range = sheet.getRange(“A1:C3”);
    • A1セルからC3セルまでの範囲を選択します。
      ここで指定した範囲全体に設定を適用します。
  4. range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.center);
    • 選択した範囲のすべてのセルを中央揃えに設定します。
      HorizontalAlignment.center を使って水平方向を中央にします。
  5. }
    • main関数の終了を示します。

総括・ポイント

このコードは、Officeスクリプトを使って、表やデータ範囲を一括で中央揃えにしたいときにとても役立ちます。

特に、目視で個別に中央揃え設定する手間を一気に省略できるため、
業務効率化・資料作成スピード向上に直結します!

このコードのまとめ
  • 選択範囲を変えるだけで応用できる
  • 初心者でもすぐに実践可能
  • 書式設定の自動化スクリプトの基礎にもなる

使用例2:指定範囲の文字を右揃えにして見た目を整える

このコードでは、指定した範囲(例:A1~A5)のすべてのセルに対して、文字を右揃えに一括変更します。
数値や金額など、右揃えで揃えると見た目がきれいになるデータに非常に効果的です。

コード例

function main(workbook: ExcelScript.Workbook): void {
  const sheet = workbook.getActiveWorksheet();
  const range = sheet.getRange("A1:A5");

  // 選択範囲のすべてのセルの水平方向を右揃えに設定
  range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.right);
}

処理結果

使用例2の結果

コードの動作概要

STEP
ワークシートの取得

アクティブなシートを取得します。

STEP
対象範囲の設定

右揃えにしたい範囲(A1~A5)を選択します。

STEP
水平方向の右揃え設定

指定範囲全体の文字を右揃えに一括設定します。

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

スクロールできます
機能名説明
getActiveWorksheet()現在作業中のシートを取得します。
getRange(“A1:A5”)A1からA5までのセル範囲を選択します。
getFormat().setHorizontalAlignment()セルの文字の水平方向の位置を設定します。

1行ずつコードを解説

クリック」してコードの詳細解説を見る
  1. function main(workbook: ExcelScript.Workbook): void {
    • スクリプトの開始を定義します。
      workbook は現在開いているExcelファイルを表します。
  2. const sheet = workbook.getActiveWorksheet();
    • 現在アクティブになっているワークシート(シート)を取得します。
  3. const range = sheet.getRange(“A1:A5”);
    • A1セルからA5セルまでの範囲を選択します。
      ここで指定した範囲全体に設定を適用します。
  4. range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.right);
    • 選択した範囲のすべてのセルを右揃えに設定します。
      数値や金額の列をきれいに揃える際に有効です。
  5. }
    • main関数の終了を示します。

総括・ポイント

このコードを使えば、数値や金額データの列を一括で右揃えにでき、エクセル表の見た目を一気に美しく整えることができます!

このコードのまとめ
  • 範囲を変えるだけでどんな表にも応用できる。
  • 初心者でも安心して使えるシンプルな構成です。
  • 本格的な帳票作成にも必須のスキルです。

この記事のまとめ

この記事では、Officeスクリプトを使って、Excelセルの水平方向の配置(左揃え・中央揃え・右揃え・両端揃え・均等割り付け)を変更する方法について、基本から応用まで段階的に詳しく解説しました。

特に、初心者がつまずきやすいポイント(justifyが効かない、centerAcrossSelectionの使い方ミスなど)にも丁寧に触れ、実践的な使用例を交えながら理解を深められる構成になっています。

Excelで「見た目をきれいに整えたい」「資料のクオリティを上げたい」場面で、すぐに役立つ内容だったかと思います!

ポイントのおさらい

今回の学びを活用するために

スクロールできます
シーン活用例
業務レポートの整形タイトルを中央揃え、数値を右揃えにして見やすさアップ
データ集計の見栄え改善表全体の水平方向を統一してプロフェッショナルな印象に
VBAやPowerAutomateとの連携書式自動調整をスクリプト化し、作業を完全自動化
あわせて読みたい
サイトマップ このページは、本サイトの記事を分かりやすくまとめました。ぜひご覧ください。 目次 「共通」を見る 「VBA」を見る 「Officeスクリプト」を見る 「ワークシート関数」...
スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次