動的なコンテンツに応じて Excel セルのサイズを自動更新する

動的なコンテンツに応じて Excel セルのサイズを自動更新する

コンテクスト:さまざまなカテゴリのドロップダウンがあるシートがあります。シートには、ドロップダウンから選択されたカテゴリに応じて情報が更新されるテーブルもあります。カテゴリによっては、大量のテキストが生成されるため大きなセルが必要になりますが、テキストの量が少ないため小さなセルが必要になるカテゴリもあります。

私が求めているもの:私が探しているのは、特定のカテゴリのセル内のテキストの量に応じてセルのサイズが自動的に更新される方法です。やり方は理解しています 手動で、ページ全体をハイライト表示して自動調整をクリックするか、列または行の区切り線をダブルクリックします。ただし、ドロップダウン項目を選択するとすぐにこれが実行される方法が欲しいです。その理由は、このシートを使用する人が複数いるため、セル サイズを手動で更新する必要があることを知らないと、シートのセル サイズが小さく設定されていてテキストが切り取られていることがわかりにくいため、重要な情報を見逃してしまう可能性があるからです。逆に、テーブルをデフォルトで非常に大きなセル サイズに設定すると、少量のテキストしか生成されないカテゴリが選択されたときに、テーブルは必要以上に大きくなり、扱いにくくなります。

セル内のテキストの量が変わるとすぐにセルのサイズが自動的に更新される方法をご存知の方はいらっしゃいますか?

ありがとう!

答え1

列内のセルが変更されるたびに列の幅を更新するマクロを作成します。

セルは、ユーザー入力または数式の再計算によって変更されます。変更の種類ごとに異なる種類のマクロを使用します。以下は、列の手動入力の典型的な例です。:

ワークシートのコード領域に次のイベント マクロを挿入します。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
    Cells(1, "C").EntireColumn.AutoFit
End Sub

ワークシート コードなので、インストールが非常に簡単で、自動的に使用できます。

  1. Excelウィンドウの下部にあるタブ名を右クリックします
  2. 「コードの表示」を選択すると、VBEウィンドウが表示されます。
  3. 内容を貼り付けてVBEウィンドウを閉じます

不安な点があれば、まずはトライアルシートで試してみてください。

ワークブックを保存すると、マクロも一緒に保存されます。2003 以降のバージョンの Excel を使用している場合は、ファイルを .xlsx ではなく .xlsm として保存する必要があります。

マクロを削除するには:

  1. 上記のようにVBEウィンドウを表示します
  2. コードを消去する
  3. VBEウィンドウを閉じる

マクロ全般の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

そして

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

イベント マクロ (ワークシート コード) の詳細については、以下を参照してください。

http://www.mvps.org/dmcritchie/excel/event.htm

これを機能させるにはマクロを有効にする必要があります。

関連情報