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

・セルの文字を中央揃え・左揃え・右揃えにしたいけど、どのコードを使えばいいのか分からない
・複数のセル範囲に対して一括で配置設定を行いたい



この記事では、OfficeスクリプトでExcelの文字位置を中央位置や右揃えにする方法を、初心者にもわかりやすく解説します!
Excelの作業を自動化していると、見た目の調整(セルの配置)も大事になってきますよね。
特に、タイトル行や数値の整列がバラバラだと、表が読みづらくなる原因になってしまいます。
この記事では、Officeスクリプト初心者の方でもすぐに使えるように、以下のことを重点的に下記設します。
setHorizontalAlignment()
メソッドを使ったセルの文字位置(水平配置)変更の方法- 単一セル・セル範囲の中央揃え・右揃え・左揃えのコード例
- 空白セルや配置ミスの注意点やコツ
初めてOfficeスクリプトに触れる方でも安心して取り組める内容になっています。
読み終えるころには、Excelの文字位置を自在に調整できるスクリプトの基本が身につきます。
表やレポートの「見た目のクオリティ」もグッと上がりますよ!
【 この記事の概要 】
よく使う度 | |
難しさ | |
覚えておくと安心度 |
「Officeスクリプト、いざ始めようと思ったけど、何から手をつけていいのか分からない…」
と悩んでいませんか?
最初の学習で迷うと、やる気も続かなくなってしまいますよね。
そんな方におすすめなのが、
初心者がつまずきやすいポイントをしっかりフォローした入門書です。
- 基礎から丁寧に解説、初心者でも安心
- 具体的な実践例つきで現場ですぐに活かせる
- 手元に置いていつでも確認できる
「動画も良いけど、まずは書籍でじっくり学びたい」という方には、特におすすめです。




この記事を読むとできるようになること
- エクセルで水平方向を変更したら何がいいのか?を知る
- Officeスクリプトで水平方向を変更する
setHorizontalAlignment() メソッドを習得する - Officeスクリプトで水平方向を変更する際の注意点の違いを確認する
- setHorizontalAlignment() メソッドの使用例を確認する
セルの文字位置を水平方向に整えると何が良いの?
Excelで表やリストを作っていると、「とりあえず入力できたからOK!」で終わってしまうこと、ありませんか?
でも実は、セルの文字位置(水平方向)を揃えるだけで、表の見た目や使いやすさがグッと良くなるんです。
文字位置を揃えるメリット
- 見た目がスッキリして、伝わりやすくなる
- 文字の位置がバラバラな表って、どこを見ていいか分からなくなりますよね。
たとえば、タイトルは中央揃え、数値は右揃えにするだけで、パッと見て内容が理解しやすくなります。
- 文字の位置がバラバラな表って、どこを見ていいか分からなくなりますよね。
- 作業効率・見直し効率がアップ
- 整った配置だと、どこに何があるか一目で分かるので、修正や確認もスムーズ。
データの見落としやミスも減らせます。
- 整った配置だと、どこに何があるか一目で分かるので、修正や確認もスムーズ。
- 社内資料や報告書の「印象」がグッと良くなる
- 同じ表でも、文字位置が整っていると「きちんとしてる」感が出ます。
提出資料やプレゼンの第一印象にも効果バツグンです。
- 同じ表でも、文字位置が整っていると「きちんとしてる」感が出ます。
- Officeスクリプトで一括設定すれば時短に!
- 手作業で1セルずつ配置を変えるのは、地味に手間がかかります。
でもOfficeスクリプトなら、複数セルに一括で中央揃えや右揃えが設定可能!
定型レポートの整形も一瞬で完了です。
- 手作業で1セルずつ配置を変えるのは、地味に手間がかかります。
Officeスクリプトでセルの水平方向の配置を設定する基本 : setHorizontalAlignment()メソッド
Officeスクリプトでは、セルの水平方向の配置を設定するために 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);
}


right : セルの文字を「右揃え」にしてみる
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 (左詰め) |
---|---|---|
表示位置 | 行の先頭と末尾がセル幅に揃うように 単語間隔を自動調整 | 文字がセルの左端に詰めて表示される |
複数行への対応 | 複数行になると効果を発揮 (単語の間にスペース) | 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 (中央揃え) |
---|---|---|
表示位置 | 選択した複数セルの中央に 見えるように表示 | 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);
}


対策
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);
}


注意点②: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);
}


対策
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);
}


Officeスクリプトでセルの水平方向を変更した使用例をご紹介
それでは、Officeスクリプトで水平位置を変更する方法の具体的な例を紹介します。
以下に紹介する使用例は、すべてコピペしてすぐに実行できるコードです。
気になる例は、ぜひご覧いただき、実際に実行してみてください。
Officeスクリプトを「基礎からしっかり学んで業務効率化したい」方には、
動画で学べる UdemyのOfficeスクリプト講座 がおすすめです。
- 初心者でも迷わないステップバイステップ動画解説
- 豊富な実践例で現場ですぐ使えるスキルが身につく
- スマホやPCからいつでも繰り返し視聴可能
特に自己学習で進める場合、ビデオや実践例があると理解が進みやすくなりますよ。


\ 自分のペースで学べる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);
}
処理結果


コードの動作概要
アクティブなシートを取得します。
中央揃えにしたい範囲(A1~C3)を選びます。
指定範囲全体の文字を中央揃えに一括設定します。
このコードで使用している機能
機能名 | 説明 |
---|---|
getActiveWorksheet() | 現在作業中のシートを取得します。 |
getRange(“A1:C3”) | A1からC3までのセル範囲を選択します。 |
getFormat().setHorizontalAlignment() | セルの文字の水平方向の位置を設定します。 |
1行ずつコードを解説
「クリック」してコードの詳細解説を見る
- function main(workbook: ExcelScript.Workbook): void {
- スクリプトの開始を定義します。
workbook
は現在開いているExcelファイルを表します。
- スクリプトの開始を定義します。
- const sheet = workbook.getActiveWorksheet();
- 現在アクティブになっているワークシート(シート)を取得します。
- const range = sheet.getRange(“A1:C3”);
- A1セルからC3セルまでの範囲を選択します。
ここで指定した範囲全体に設定を適用します。
- A1セルからC3セルまでの範囲を選択します。
- range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.center);
- 選択した範囲のすべてのセルを中央揃えに設定します。
HorizontalAlignment.center
を使って水平方向を中央にします。
- 選択した範囲のすべてのセルを中央揃えに設定します。
- }
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);
}
処理結果


コードの動作概要
アクティブなシートを取得します。
右揃えにしたい範囲(A1~A5)を選択します。
指定範囲全体の文字を右揃えに一括設定します。
このコードで使用している機能
機能名 | 説明 |
---|---|
getActiveWorksheet() | 現在作業中のシートを取得します。 |
getRange(“A1:A5”) | A1からA5までのセル範囲を選択します。 |
getFormat().setHorizontalAlignment() | セルの文字の水平方向の位置を設定します。 |
1行ずつコードを解説
「クリック」してコードの詳細解説を見る
- function main(workbook: ExcelScript.Workbook): void {
- スクリプトの開始を定義します。
workbook
は現在開いているExcelファイルを表します。
- スクリプトの開始を定義します。
- const sheet = workbook.getActiveWorksheet();
- 現在アクティブになっているワークシート(シート)を取得します。
- const range = sheet.getRange(“A1:A5”);
- A1セルからA5セルまでの範囲を選択します。
ここで指定した範囲全体に設定を適用します。
- A1セルからA5セルまでの範囲を選択します。
- range.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.right);
- 選択した範囲のすべてのセルを右揃えに設定します。
数値や金額の列をきれいに揃える際に有効です。
- 選択した範囲のすべてのセルを右揃えに設定します。
- }
main
関数の終了を示します。
総括・ポイント
このコードを使えば、数値や金額データの列を一括で右揃えにでき、エクセル表の見た目を一気に美しく整えることができます!
- 範囲を変えるだけでどんな表にも応用できる。
- 初心者でも安心して使えるシンプルな構成です。
- 本格的な帳票作成にも必須のスキルです。
この記事のまとめ
この記事では、Officeスクリプトを使って、Excelセルの水平方向の配置(左揃え・中央揃え・右揃え・両端揃え・均等割り付け)を変更する方法について、基本から応用まで段階的に詳しく解説しました。
特に、初心者がつまずきやすいポイント(justifyが効かない、centerAcrossSelectionの使い方ミスなど)にも丁寧に触れ、実践的な使用例を交えながら理解を深められる構成になっています。
Excelで「見た目をきれいに整えたい」「資料のクオリティを上げたい」場面で、すぐに役立つ内容だったかと思います!
ポイントのおさらい
- 【基本編】setHorizontalAlignment()メソッドの使い方
setHorizontalAlignment()
を使うと、セルの文字位置(水平方向)を自由にコントロール可能です- left(左揃え)、center(中央揃え)、right(右揃え)などオプションを選んで設定できる
- fill(繰り返し表示)や justify(両端揃え)、centerAcrossSelection(範囲中央揃え)にも対応
⇒ 「Officeスクリプトでセルの水平方向の配置を設定する基本 : setHorizontalAlignment()メソッド」をもう一度見る
- 【注意点まとめ】ありがちなミスとその対策
- justifyは複数行+WrapTextがないと効果が出ない
- centerAcrossSelectionは1セルだけでは効果が出ない
- 配置だけではレイアウト(折り返し・結合)は変わらない
⇒ 「注意!Officeスクリプトでセルの水平方向を設定するときによくある3つの落とし穴」をもう一度見る
- 【使用例まとめ】コピペで使える応用スクリプト
- 次の使用例をご紹介しました。
- 選択した範囲を一括で中央揃え
- 指定範囲の文字を右揃えにして整える
⇒ 「Officeスクリプトでセルの水平方向を変更した使用例をご紹介」をもう一度見る
- 次の使用例をご紹介しました。
今回の学びを活用するために
シーン | 活用例 |
---|---|
業務レポートの整形 | タイトルを中央揃え、数値を右揃えにして見やすさアップ |
データ集計の見栄え改善 | 表全体の水平方向を統一してプロフェッショナルな印象に |
VBAやPowerAutomateとの連携 | 書式自動調整をスクリプト化し、作業を完全自動化 |

