書式で検索(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 |
実行結果
関連記事
-
-
フリガナ(Phonetics プロパティ)
Phonetics プロパティ Phonetics コレクションを返します。値の …
-
-
セルを参照する(Range プロパティ)
Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …
-
-
直前のセル・直後のセルを参照する(Previous プロパティ・Next プロパティ)
Previous プロパティ・Next プロパティ Previous プロパティ …
-
-
オートフィルタ(アイコンで抽出する)AutoFilter メソッド
オートフィルタ(アイコンで抽出する) Excel 2007 から、条件付き書式で …
-
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
オートフィルタ(日付・時刻のグループ化)AutoFilter メソッド
グループ化された日付や時刻で、レコードを抽出する Excel 2007 から日付 …
-
-
A1参照形式、R1C1参照形式の設定・取得(ReferenceStyle プロパティ)
ReferenceStyle プロパティ ReferenceStyle プロパテ …
-
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
-
セル範囲内を検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …