書式で検索(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 |
実行結果
関連記事
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)
列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」 …
-
ハイパーリンク(Hyperlink オブジェクトのメソッド)
Hyperlink オブジェクトのメソッド Hyperlinks コレクション …
-
セル内部を参照(Interior プロパティ)
Interior プロパティ Interior プロパティで、セルの内部を参照し …
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …
-
オートフィルタ(色で抽出する)AutoFilter メソッド
オートフィルタ(色で抽出する) フォントの色、セルの背景色(条件付き書式による設 …
-
オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …
-
セルに値を設定する・セルの値を参照する(Value2 プロパティ)
Value2 プロパティ Value プロパティとの違いは、Value2 プロパ …
-
セル・セル範囲を貼り付ける(Paste メソッド)
Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …