書式で検索(Find メソッド,FindFormat プロパティ)
書式で検索
書式を条件にセルを検索する場合、まず、その書式条件を CellFormat オブジェクト に設定します。そして、Find メソッドを、引数 searchformat に True を設定して実行します。
CellFormat オブジェクト を取得するには、Application オブジェクトの FindFormat プロパティ または、ReplaceFormat プロパティ を使用します。
CellFormat オブジェクト で、書式条件を定義するには、Borders プロパティ、Font プロパティ、または Interior プロパティ を使用します。
Find メソッド
object.Find ( what [ searchformat ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- what ・・・ 検索する文字列、値など、セル内のデータに該当する値を指定します。省略不可。
- searchformat ・・・ CellFormat オブジェクト に設定された書式を検索する場合は、True を、しない場合は、False を指定します。既定値は、False です。
- 戻り値 ・・・ 検索の結果、条件を満たすセルが見つかったらその先頭のセルを表す Range オブジェクトを返します。見つからなかった場合は、Nothing を返します。
FindFormat プロパティ
object.FindFormat
引数・戻り値
- object ・・・ 対象となる Application オブジェクトを指定します。
- 戻り値 ・・・ 検索する書式を設定する CellFormat オブジェクト。(CellFormat 型)
条件を設定する前に初期化を行う
FindFormat プロパティ で、条件を設定する前に、Clear メソッド を使って初期化をします。これをしないと前に設定した条件が重なり、意図した結果にならない場合があります。
(例) Application.FindFormat.Clear
書式で検索 使用例 1
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Sub Sample01_FindFormat() Dim myRng As Range With Application.FindFormat '書式検索条件を初期化 .Clear 'セル背景色を設定(黄色) .Interior.Color = rgbYellow 'フォントスタイルの設定(イタリック体) .Font.Italic = True End With '書式で検索、値はワイルドカードを指定 Set myRng = Range("A1:D22").Find(what:="*", searchformat:=True) If Not myRng Is Nothing Then MsgBox myRng.Address & ":" & myRng.Value Else MsgBox "見つかりませんでした" End If End Sub |
実行結果
書式で検索 使用例 2
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Sub Sample02_FindFormat() Dim myRng As Range With Application.FindFormat '書式検索条件を初期化 .Clear 'フォント名を設定(AR P丸ゴシック体E) .Font.Name = "AR P丸ゴシック体E" 'フォントサイズの設定(14) .Font.Size = 14 End With '書式で検索、値は金額 Set myRng = Range("A1:D22").Find(what:="金額", searchformat:=True) If Not myRng Is Nothing Then MsgBox myRng.Address & ":" & myRng.Value Else MsgBox "見つかりませんでした" End If End Sub |
実行結果
関連記事
-
-
セルに値を設定する・セルの値を参照する(Value プロパティ)
Value プロパティ Value プロパティは、セルの値を取得したり、値を設定 …
-
-
セル・セル範囲をコピーする(Copy メソッド)
Copy メソッド Copy メソッドは、セル範囲をコピーし、指定したセル範囲に …
-
-
セルのアドレスを確認(Address プロパティ)
Address プロパティ Address プロパティ・AddressLocal …
-
-
フリガナ(Phonetic プロパティ)
Phonetic プロパティ 文字列(漢字など)をキーボードから入力した時の「読 …
-
-
現在選択されているセルを参照(RangeSelection プロパティ)
RangeSelection プロパティ 実際に何が選択されているかにかかわらず …
-
-
セルを参照する(Range プロパティ)
Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …
-
-
A1参照形式、R1C1参照形式の設定・取得(ReferenceStyle プロパティ)
ReferenceStyle プロパティ ReferenceStyle プロパテ …
-
-
セルの値を置換(Replace メソッド)
Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …
-
-
AutoFilter オブジェクト(メソッド・プロパティ)
AutoFilter.ShowAllData メソッド AutoFilter.S …
-
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …