Excelでセル内の隠れた文字を表示させたいときはないでしょうか。
けど、そんな中で悩むことは、
・Excel VBAで別シートや別ブックのセル内の隠れた文字を表示させたいが方法がよくわからない
ですよね。
今回はそんなお悩みを解決する
・Excel VBAで別シートや別ブックのセル内の隠れた文字を表示させる方法
についてまとめます!
もくじ
Excelでセル内の隠れた文字を表示するイメージ
Excelでセル内の隠れた文字を表示するイメージについて説明をします。
たとえば以下のよう、改行付き文章、日付、数字などサンプルで入力し、セルの幅を狭めていくと隠れる形になります。
Excel上の基本操作によって、以下のようにセルをはみ出して表示させることができます。
またVBAを利用すると、複数の別シートや別ブックにもワンクリックでセル内の隠れた文字を表示することができます。
別シート
別ブック
ワンクリックでできると便利ですね!
それでは早速やってみましょう。
サンプルデータを入力する
サンプルデータを入力していきましょう。
改行付き文章、日付、数字をそれぞれセルに入力し、隠れるようセルの幅を短くします。
また、今回は複数のシートも調整をしますので、作成したシートをコピーして複数シートを用意します。
Excelでセル内の隠れた文字を表示する方法
Excelでセル内の隠れた文字を表示する方法について説明をします。
今回使う機能はExcelの列や行の幅を自動調整していくれるAutoFitとなります。
単一シートのセルの行/列の幅を自動調整する
まずは単一シートのセルの行/列の幅を自動調整していきましょう。
左上の右下方向の矢印をクリックするか、Ctrl + Aで全選択を行います。
次に行と列のバーの赤枠の部分をダブルクリックします。
はい、行/列の幅が自動調整され、セル内の隠れた文字が表示されましたね。
複数シートのセルの行/列の幅を自動調整する
次に複数シートのセルの行/列の幅を自動調整していきましょう。
キーボードのShiftを押しながら自動調整したいシートを選択し、グループ状態にします。
左上の右下方向の矢印をクリックするか、Ctrl + Aで全選択を行います。
次に行と列のバーの赤枠の部分をダブルクリックします。
はい、選択されたシートの行/列の幅が自動調整され、セル内の隠れた文字が表示されましたね。
Excel VBAで全シートや別ブックのセル内の隠れた文字を表示させる方法
次はExcel VBAで全シートや別ブックのセル内の隠れた文字を表示させる方法について説明をします。
VBAコード
サンプルのVBAコードは以下の通りです。
Sub セル内の隠れた文字を表示する()
Dim objSheet As Object
'ブック全シートを 1つづつ取り出し処理します。
For Each objSheet In ActiveWorkbook.Worksheets
'取り出したシートの列幅を自動調整します。
objSheet.Cells.EntireColumn.AutoFit
'取り出したシートの行の高さを自動調整します。
objSheet.Cells.EntireRow.AutoFit
Next
'オブジェクトを開放します。
Set objSheet = Nothing
End Sub
VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
VBAを実行する
まずは全シートを対象にセル内の隠れた文字を表示させていきます。
VBAを実行してみましょう。
全シートのセル内の隠れた文字が表示されましたね!
次に別ブックの全シートを対象にセル内の隠れた文字を表示させていきます。
別ブックを表示させている状態で、VBEの実行ボタンを押します。
はい!、別ブック全シートのセル内の隠れた文字が表示されましたね!
VBAの説明
VBAについて説明をします。
ブック全シートを 1つづつ取り出し処理します。
For Each objSheet In ActiveWorkbook.Worksheets
AutoFit メソッドを使い、取り出したシートの列幅を自動調整します。
AutoFit メソッドの詳細は以下の通りです。
objSheet.Cells.EntireColumn.AutoFit
メソッド名 | AutoFit |
---|---|
機能 | 指定オブジェクトの高さまたは幅を自動調整します。 |
書式 | Rangeオブジェクト.AutoFit |
注釈 | Rangeオブジェクト は、行または行の範囲、または列または列の範囲である必要があります。それ以外の場合、このメソッドはエラーを生成します。 |
参照:https://docs.microsoft.com/ja-jp/office/vba/api/excel.range.autofit
取り出したシートの行の高さを自動調整します。
objSheet.Cells.EntireRow.AutoFit
オブジェクトを開放します。
Set objSheet = Nothing
VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
さいごに
いかがでしょうか。
今回は、
・Excel VBAで別シートや別ブックのセル内の隠れた文字を表示させる方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す