セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
2015/10/19
セルの値の置換と書式設定
検索条件に一致するセルの書式を設定するには、まず、Application オブジェクト の ReplaceFormat プロパティを使用して、設定する書式を指定します。そして、Replace メソッドを、引数 replaceformat に True を設定し、実行します。
この場合、置換する文字列を設定する、引数 replacement に「””」(空白文字列)を指定すると、値の置換は行われず、書式のみ変更されます。
書式を定義するには、Borders プロパティ、Font プロパティ、または Interior プロパティ を使用します。
Replace メソッド
object.Replace ( what, replacement [, replaceformat ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- what ・・・ 検索する文字列、値など、セル内のデータに該当する値を指定します。省略不可。
- replacement ・・・ 置き換える文字列を指定します。省略不可。
- replaceformat ・・・ 書式を設定する場合、True を設定します。
- 戻り値 ・・・ ブール型(Boolean)の値(基本的に、True )を返します。
検索・置換条件をさらに細かく指定する方法については、セルの値を置換(Replace メソッド) を参照してください。
ReplaceFormat プロパティ
object.ReplaceFormat
引数・戻り値
- object ・・・ 対象となる Application オブジェクトを指定します。
- 戻り値 ・・・ 置換後の書式を設定する CellFormat オブジェクト。(CellFormat 型)
ReplaceFormat.Clear メソッド
FindFormat プロパティ 同様、、書式設定する前に、Clear メソッド を使って初期化をします。これをしないと前に設定した条件が重なり、意図した結果にならない場合があります。
(例) Application.ReplaceFormat.Clear
Replace メソッド,ReplaceFormat プロパティ 使用例 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 35 36 37 38 39 40 41 42 43 44 |
Sub Sample01_ReplaceFormat() '置換後の書式を設定(セル背景色を変更) With Application.ReplaceFormat .Clear .Interior.Color = rgbChartreuse End With '「EEE」を「AAA」に変更し、書式も変更する Cells.Replace _ What:="EEE", _ Replacement:="AAA", _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ MatchByte:=False, _ SearchFormat:=False, _ ReplaceFormat:=True '置換後の書式を設定(フォントの太さ、色を変更) With Application.ReplaceFormat .Clear .Font.Bold = True .Font.Color = rgbCrimson End With '「広」から始まる文字列に当てはまるセルの書式を変更 ' 引数 Replacement に、""(空文字列)を指定(書式のみの変更で、文字列置換は行わない) Cells.Replace _ What:="広*", _ Replacement:="", _ LookAt:=xlWhole, _ SearchOrder:=xlByRows, _ MatchCase:=False, _ MatchByte:=False, _ SearchFormat:=False, _ ReplaceFormat:=True End Sub |
実行結果 1
サンプルVBAソース 実行前
実行後
Replace メソッド,ReplaceFormat プロパティ 使用例 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 |
Sub Sample02_ReplaceFormat() '検索する書式の設定 With Application.FindFormat .Clear .Font.Color = rgbRed End With '置換後の書式を設定(フォントの太さ、色を変更) With Application.ReplaceFormat .Clear .Font.Bold = True .Font.Name = "AR Pゴシック体S" .Font.Size = 16 .Interior.Color = rgbPowderBlue End With '書式を置換 Cells.Replace _ What:="*", _ Replacement:="", _ LookAt:=xlWhole, _ SearchFormat:=True, _ ReplaceFormat:=True End Sub |
実行結果 2
サンプルVBAソース 実行前
実行後
関連記事
-
セルが結合セルの一部である場合、その結合セルの範囲を取得(MergeArea プロパティ)
MergeArea プロパティ MergeArea プロパティは、指定したセルが …
-
ハイパーリンク(Hyperlinks オブジェクト)
Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
フリガナの設定(SetPhonetic メソッド)
フリガナの設定(SetPhonetic メソッド) SetPhonetic メソ …
-
指定したセルへ移動(Goto メソッド)
指定したセルへ移動 指定したシートの指定したセルへジャンプするには、Goto メ …
-
別シートのセルを選択(Goto メソッド / PreviousSelections プロパティ)
Goto メソッド 次の例のように、1 行で、Activate メソッド や S …
-
VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)
VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
フリガナの設定(Characters プロパティ,PhoneticCharacters メソッド)
Characters プロパティ Characters プロパティは、文字範囲を …
-
指定した行数・列数移動したセル・セル範囲を参照(Offset プロパティ)
Offset プロパティ Offset プロパティは、基準となるセル・セル範囲か …