書式で検索(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 |
実行結果
関連記事
-
-
テーマカラーで網かけ(パターン)の色の取得・設定(PatternThemeColor プロパティ・PatternTintAndShade プロパティ)
PatternThemeColor プロパティ・PatternTintAndSh …
-
-
オートフィルタ(アイコンで抽出する)AutoFilter メソッド
オートフィルタ(アイコンで抽出する) Excel 2007 から、条件付き書式で …
-
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …
-
-
VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)
VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …
-
-
セルに値を設定する・セルの値を参照する(Value2 プロパティ)
Value2 プロパティ Value プロパティとの違いは、Value2 プロパ …
-
-
セル・セル範囲に名前を定義・削除(Name プロパティ・Names コレクション)
セル・セル範囲に名前を定義(Name プロパティ) Range オブジェクトのN …
-
-
入力規則(他セルや数式を利用して許容値を設定)Validation オブジェクト
他のセルや数式を利用して許容値を設定する 入力規則(その5) での設定を、マクロ …
-
-
オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド
グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …
-
-
文字の向きを表す値を取得・設定する(Orientation プロパティ)
Orientation プロパティ Orientation プロパティで、文字列 …
-
-
指定した条件に一致するセルを取得(SpecialCells メソッド)
SpecialCells メソッド SpecialCells メソッドは、指定し …

