離れた複数列を列番号(数字)で指定して、列幅変更する方法(Excel VBA)

【本日のミッション】

Excel VBAにて、離れた複数列の列幅を変更せよ。
ただし、列番号にはアルファベットを使用せず、数字のみで選択すること。

ミッションの概要

下記のように、離れた複数の列の幅を、一気に変更するのが今回のミッションです。
でも、B列、D列、F~H列という風にアルファベットは使わずに、2列、4列、6~8列という風に数字で表現すること、という条件付きです。
離れた複数列を列番号(数字)で指定して、列幅変更する方法(Excel VBA)


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

離れた複数列を列番号(数字)で指定して、列幅変更する方法(Excel VBA)

プロシージャ

答えはこちら3つ目の「離れた列の列幅を変更3」プロシージャになります。

Sub 離れた列の列幅を変更1()
    Range("B:B,D:D,F:H").ColumnWidth = 10
End Sub

Sub 離れた列の列幅を変更2()
    Range("B1,D1,F1:H1").EntireColumn.ColumnWidth = 10
End Sub

Sub 離れた列の列幅を変更3()
    Union(Columns(2), Columns(4), Range(Columns(6), Columns(8))).ColumnWidth = 10
End Sub

列番号が決まっているときは「離れた列の列幅を変更1」とか「離れた列の列幅を変更2」プロシージャでOKなんです。

ただ、実際の業務では、処理する列番号が必ずしも決まっているとは限りません。

条件によっては、列が変動する場合もあります。

そんなときは、「離れた列の列幅を変更3」プロシージャの方法がとっても役に立ちます。

Unionメソッド

Union(セル範囲1,セル範囲2,セル範囲3,セル範囲4以降・・・)

複数のセル範囲をひとまとまりの集合体にします。

今回の例であれば、2列目、4列目、6~8列目を一つの集合体として選択しています。

ちなみに「セル範囲1」と「セル範囲2」は必ず指定しないといけません。集合体を作るわけですからね♪

参照

「数字が文字列として保存されています。」を一括で数字に変換
データが増減しても参照先を変更しない名前の管理(Excel)
連動するドロップダウンリストを名前の管理・入力規制・OFFSET・INDIRECTを使って「リストが表示されない」を解決(Excel)
Excel 複数セル内の改行(Alt+Enter)を一括で解除する方法
Excel関数を使って 縦の表に連動した(リンクした)横の表を一括で作成せよ
ワイルドカードとは。使い方いろいろ。(Excel)
Excelの改ページの点線を消す方法
Excelの背景にある薄グレーの枠線(罫線)を消す(非表示)方法
非表示になってしまった列を表示させる方法
ファイルを開くと空の画面も同時に開くのを解決(Excel)
図 画像 グラフ ボタン などのオブジェクトが消えてしまった時の表示方法(Excel)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
保護されたシートに対して、このコマンドは使用できません。テーマが変えられない現象を解決(Excel)
離れた複数列をまとめて列番号(数字)で選択する方法(Excel VBA)
Excel VBA で選択した複数のセルにデータ・数式を(Ctrl+Enter のように)一気に入力する方法
離れた複数列を列番号(数字)で指定して、列幅変更する方法(Excel VBA)

■■■スポンサーリンク■■■