小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年8月16日【ID:0】

メンバー限定

【ExcelVBA】選択セルの列幅を自動調整


セルの列幅に収まらない値が入力されている場合、その値はセルからはみ出してしまいます。
右隣りのセルにも値が入力されている場合は、はみ出した値が見えなくなってしまいます。
その対策として、セル内の値を[折り返して表示する]や、セルの列幅を広げるといった方法がありますが、以下のような予定表などの場合は、見た目が悪くなってしまいます。

そのため今回は、選択したセルの列幅を自動で調整し、他のセルを選択すると同時に列幅が元に戻る仕組みを、VBAを用いて実現していきます。

※こちらで解説したファイルは記事の最後にて配布しています。


今回の仕組みは以下のようになります。

①セルを選択すると同時に、選択しているセルを基準に列幅を自動調整
②他のセルを選択すると同時に、列幅を元に戻す

「①」に関しては、予定表の中が選択された時のみに適用します。

「②」に関しては、曜日の列を基準に列幅を調整することで、元の状態に戻していきます。

特定のシート上のセルを選択すると同時に何かしらの処理を実行するには、シートモジュールを活用します。


シートモジュールを開くには、対象のシートタブの上で右クリックし、[コードの表示]を選択します。

表示された画面がシートモジュールの編集画面になります。

次に、編集画面の上部にあるリストから[Worksheet]を選択します。

選択すると「Worksheet_SelectionChange」というイベントプロシージャが表示されます。
万が一、異なるイベントプロシージャが表示された場合は、先ほどのリストの右隣りのリストから「SelectionChange」を選択してください。
※「Option Explicit」は環境設定によっては表示されません。

このイベントプロシージャは、該当するシートのセルの選択位置が変更されると同時に実行されるものになります。
こちらのSubからEnd Subの間に、以下のコードを記述します。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

4035627

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ