0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel完全版】行・列のサイズを思い通りに操るショートカット&VBAチートシート

0
Posted at

【Excel完全版】行・列のサイズを思い通りに操るショートカット&VBAチートシート

はじめに

Excelで地味に時間を取られる作業といえば行の高さ・列の幅の調整

「全列を同じ幅にしたい」「ヘッダー行だけ高くしたい」「飛び地で選んだ列だけ変えたい」……マウスでちまちまドラッグしていませんか?

この記事では ショートカット・メニュー操作・VBA の3アプローチで、あらゆるサイズ指定を網羅します。


目次

  1. 知っておくべき基本原則
  2. 全行・全列を一括サイズ指定
  3. 指定した列だけ・行だけ変更する
  4. 自動調整(オートフィット)
  5. 全ショートカット一覧表
  6. VBAで自動化する
  7. 単位・数値の早見表
  8. よくある失敗と対処法

1. 知っておくべき基本原則

「何を選択してから変更するか」がすべて

選択対象 変更の影響範囲
セル(B3など) そのセルが属する行全体 or 列全体
行番号(左端の数字) その行だけ
列番号(上端のアルファベット) その列だけ
Ctrl+A(全セル) シート全体

ポイント: 「行番号・列番号を選択してから変更する」が大原則。セルを選択した状態で変更すると意図しない範囲に適用されることがあります。

Alt+H から始まるキーシーケンス

Excel のリボン操作はすべてキーボードから実行できます。

行の高さ指定  →  Alt+H  →  O  →  H  →  数値入力  →  Enter
列の幅指定    →  Alt+H  →  O  →  W  →  数値入力  →  Enter
行の自動調整  →  Alt+H  →  O  →  A
列の自動調整  →  Alt+H  →  O  →  I

2. 全行・全列を一括サイズ指定

全行の高さを一括指定

手順:

  1. Ctrl + A で全セル選択(または左上の ▲ をクリック)
  2. Alt + HOH
  3. 数値を入力して Enter
Ctrl+A → Alt+H → O → H → 20 → Enter

全列の幅を一括指定

手順:

  1. Ctrl + A で全セル選択
  2. Alt + HOW
  3. 数値を入力して Enter
Ctrl+A → Alt+H → O → W → 12 → Enter

単位について

  • 行の高さ:ポイント(pt) 標準は 13.5〜15pt
  • 列の幅:文字数(標準フォント1文字分) 標準は 8.38

3. 指定した列だけ・行だけ変更する

連続した列・行を選択して変更

# 列の場合(A〜D列)
A列の列番号クリック → Shiftキーを押しながらD列の列番号クリック
→ Alt+H → O → W → 数値入力 → Enter

# 行の場合(1〜5行)
1行の行番号クリック → Shiftキーを押しながら5行の行番号クリック
→ Alt+H → O → H → 数値入力 → Enter

飛び地の列・行を選択して変更

# 飛び地列(A・C・E列)
A列の列番号クリック → Ctrlキーを押しながらC列クリック → Ctrlキーを押しながらE列クリック
→ Alt+H → O → W → 数値入力 → Enter

# 飛び地行(1・3・7行)
1行の行番号クリック → Ctrlキーを押しながら3行クリック → Ctrlキーを押しながら7行クリック
→ Alt+H → O → H → 数値入力 → Enter

名前ボックスで範囲を直接指定(大量飛び地に便利)

画面左上の名前ボックス(セル参照が表示されている欄)に直接入力して選択できます。

# 列を指定
A:A         → A列のみ
B:D         → B〜D列(連続)
A:A,C:C,E:E → A・C・E列(飛び地)

# 行を指定
1:1         → 1行のみ
2:5         → 2〜5行(連続)
1:1,3:3,7:7 → 1・3・7行(飛び地)

入力後に Enter で選択確定 → そのままサイズ変更操作へ。

右クリックメニューを使う方法

  1. 行番号または列番号を右クリック(複数選択後でも可)
  2. 「行の高さ」または「列の幅」を選択
  3. 数値を入力して OK

4. 自動調整(オートフィット)

セルの内容に合わせてぴったり調整する「オートフィット」です。

列幅を自動調整

# キーシーケンス
対象列を選択 → Alt+H → O → I

# マウス操作
列番号の右端の境界線をダブルクリック

行高を自動調整

# キーシーケンス
対象行を選択 → Alt+H → O → A

# マウス操作
行番号の下端の境界線をダブルクリック

全列・全行を一括自動調整

# 全列を一括オートフィット
Ctrl+A → Alt+H → O → I

# 全行を一括オートフィット
Ctrl+A → Alt+H → O → A

折り返し設定・結合セルに注意
「折り返して全体を表示する」が設定されているセルや、結合セルがあると自動調整が正しく動作しないことがあります。


5. 全ショートカット一覧表

分類 操作 キーシーケンス 補足
全選択 シート全セル選択 Ctrl + A 一括変更の前準備
列選択 連続した列を選択 列番号クリック → Shift + 列番号クリック A〜D列など
列選択 飛び地の列を選択 列番号クリック → Ctrl + 列番号クリック A・C・E列など
行選択 連続した行を選択 行番号クリック → Shift + 行番号クリック 1〜5行など
行選択 飛び地の行を選択 行番号クリック → Ctrl + 行番号クリック 1・3・7行など
列幅 列幅を数値指定 Alt+HOW 単位:文字数
列幅 列幅を自動調整 Alt+HOI ダブルクリックでも可
列幅 列幅を既定値に戻す Alt+HOD シートの標準幅
行高 行の高さを数値指定 Alt+HOH 単位:ポイント(pt)
行高 行を自動調整 Alt+HOA ダブルクリックでも可
書式コピー 列幅だけを別列に貼り付け コピー後、先列を右クリック →「形式を選択して貼り付け」→「列幅」 幅だけを転写

6. VBAで自動化する

毎回同じサイズに整形する作業は VBA に登録するのが最速です。
Alt + F11 でVBEを開き、「挿入 → 標準モジュール」に貼り付けて F5 で実行します。

全行・全列を一括で数値指定

' 全行の高さと全列の幅を一括設定
Sub SetAllRowColSize()
    With ActiveSheet
        .Rows.RowHeight = 20       ' 行高(pt)
        .Columns.ColumnWidth = 12  ' 列幅(文字数)
    End With
End Sub

使用範囲を全列・全行オートフィット

' 使用セル範囲の列幅・行高を自動調整
Sub AutoFitAll()
    With ActiveSheet.UsedRange
        .Columns.AutoFit
        .Rows.AutoFit
    End With
End Sub

UsedRange を使うことで、空白の末尾まで処理しないため動作が速くなります。

特定の列・行だけ個別に指定

' B列とD列の幅を個別指定
Sub SetSpecificCols()
    Columns("B").ColumnWidth = 20
    Columns("D").ColumnWidth = 8
End Sub

' 1行目と5行目の高さを個別指定
Sub SetSpecificRows()
    Rows(1).RowHeight = 30
    Rows(5).RowHeight = 18
End Sub

ピクセル単位で指定したい場合

Excelはpt単位のため、px → pt に変換する関数を使います。

' px → pt 変換関数(96dpi基準)
Function PxToPt(px As Double) As Double
    PxToPt = px * 72 / 96
End Function

' 30pxの行高を設定する例
Sub SetRowHeightPx()
    Rows(1).RowHeight = PxToPt(30)
End Sub

AutoFit後に最大幅を制限する

' 自動調整後、列幅が40を超えたら40に制限
Sub AutoFitWithLimit()
    Dim col As Range
    ActiveSheet.UsedRange.Columns.AutoFit
    For Each col In ActiveSheet.UsedRange.Columns
        If col.ColumnWidth > 40 Then
            col.ColumnWidth = 40
        End If
    Next col
End Sub

7. 単位・数値の早見表

項目 Excelの単位 標準値 よく使う数値 目安
列の幅 文字数(標準フォント1文字分) 8.38 8 / 10 / 12 / 15 / 20 日本語なら10〜15が読みやすい
行の高さ ポイント(pt) 13.5〜15 18 / 20 / 24 / 30 ヘッダーは20〜30ptがよく使われる
1pt ≈ 0.353mm 印刷サイズとの対応に使う
1px(96dpi) ≈ 0.75pt VBA換算:px × 72 / 96
A4縦 印刷幅 列幅合計 ≈ 70〜75文字分 余白込みで1ページに収める目安

8. よくある失敗と対処法

❌ セルを選択してサイズ変更したら意図しない行まで変わった

原因: セル(例:B3)を選択した状態でサイズ変更すると、B3が属する3行目全体が変更対象になります。

対処: 行番号または列番号を直接クリックして行・列全体を選択してからサイズ変更する。


❌ 全列自動調整したら一部の列が異常に広くなった

原因: URLや長い文字列が入ったセルがあると、AutoFitがその幅に合わせてしまいます。

対処: AutoFit後に上限幅をVBAで制限する(上記「AutoFit後に最大幅を制限する」参照)。または問題の列だけ手動で再指定。


❌ 行高を変更したのに反映されない・すぐ戻る

原因: 「折り返して全体を表示する」が設定されている行は、セル内容量によって高さが自動上書きされることがあります。

対処: 対象セルの「折り返して全体を表示する」をオフにするか、AutoFitではなく数値で直接指定する。


❌ 列幅を別のシートと同じにしたい

対処:

  1. コピー元の列全体を選択して Ctrl + C
  2. コピー先の列番号を右クリック
  3. 「形式を選択して貼り付け」→「列幅」を選択して OK

まとめ

やりたいこと 最速の方法
全行・全列を同じサイズに Ctrl+AAlt+H+O+H or W
特定の列・行だけ変更 行番号・列番号を選択 → Alt+H+O+H or W
飛び地の行・列を変更 Ctrlクリックで複数選択 or 名前ボックスで直接入力
内容に合わせて自動調整 Alt+H+O+I(列)/ Alt+H+O+A(行)
毎回同じ整形を繰り返す VBAマクロに登録してワンクリック実行

Alt+H → O さえ覚えてしまえば、あとは H(Height)・W(Width)・A(AutoFit行)・I(AutoFit列)と直感的に覚えられます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?