書式で検索(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 |
実行結果
関連記事
-
-
オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド
グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …
-
-
指定したセルへ移動(Goto メソッド)
指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …
-
-
配列数式を取得または設定する(FormulaArray プロパティ)
FormulaArray プロパティ FormulaArray プロパティは、対 …
-
-
文字の向きを表す値を取得・設定する(Orientation プロパティ)
Orientation プロパティ Orientation プロパティで、文字列 …
-
-
セルが結合セルの一部である場合、その結合セルの範囲を取得(MergeArea プロパティ)
MergeArea プロパティ MergeArea プロパティは、指定したセルが …
-
-
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)
列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」 …
-
-
ハイパーリンク(Hyperlink オブジェクトのメソッド)
Hyperlink オブジェクトのメソッド Hyperlinks コレクション …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)
VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …
-
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …