文字列の一部の書式を変更(Characters プロパティ)
2015/08/07
文字列の一部を参照(Characters プロパティ)
Characters プロパティで、引数(開始文字位置と取得文字数)を指定することで、「文字列の一部」を Characters オブジェクトとして取得することができます。
「文字列の一部」の書式を変更するには、取得した Characters オブジェクトの Font プロパティを使用します。
object.Characters (start, length )
object.Characters (Start:= start, Length:= length )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトなどを指定します。
- start ・・・ 取得する文字の開始位置を指定します(1 文字目が、1 となります)。省略すると、先頭文字から始まる文字列範囲を返します。
- length ・・・ 取得する文字数を指定します。省略すると引数 start で指定された文字より後にある文字列すべてを返します。
Insert メソッド
start の位置から、length 文字で指定した文字列と新しく指定した文字列を置き換えます。
(使用例)
Range(“A1”).Value = “ABCDE”
Range(“A1”).Character( 2, 2 ).Insert(“あいう”)
⇒ ”AあいうDE”
Delete メソッド
start の位置から、length 文字で指定した文字列を削除します。
(使用例)
Range(“A1”).Value = “ABCDE”
Range(“A1″).Character( 2, 3 ).Delete
⇒ ”AE”
Characters オブジェクトの主なプロパティ
Characters.Count プロパティ
オブジェクトの数(文字数)を表す長整数型(Long)の値を返します。
object.Characters.Count
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
使い方
セル「A1」に入力された値の文字数をメッセージボックスで表示します。
MsgBox Range(“A1”).Characters.Count
Characters.Text プロパティ
引数(start, length)で指定した文字列を取得、設定します。
<取得>
object.Characters ( start, length ).Text
<設定>
object.Characters ( start, length ).Text = string
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- start ・・・ 取得する文字の開始位置を指定します(1 文字目が、1 となります)。省略すると、先頭文字から始まる文字列範囲を返します。
- length ・・・ 取得する文字数を指定します。省略すると引数 start で指定された文字より後にある文字列すべてを返します。
- string ・・・ 引数(start, length)で指定した文字列と置き換える文字列を指定します。
Characters.Font プロパティ
引数(start, length)で指定した文字列のフォント(Font オブジェクト)を取得、設定します。
object.Characters ( start, length ).Font
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- start ・・・ 取得する文字の開始位置を指定します(1 文字目が、1 となります)。省略すると、先頭文字から始まる文字列範囲を返します。
- length ・・・ 取得する文字数を指定します。省略すると引数 start で指定された文字より後にある文字列すべてを返します。
書式変更の詳細は、フォントの設定(Font プロパティ)を参照してください。
Characters.PhoneticCharacters プロパティ
引数(start, length)で指定した文字列のフリガナ情報の取得、設定を行います。
<取得>
object.Characters ( start, length ).PhoneticCharacters
<設定>
object.Characters ( start, length ).PhoneticCharacters = string
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- start ・・・ 取得する文字の開始位置を指定します(1 文字目が、1 となります)。省略すると、先頭文字から始まる文字列範囲を返します。
- length ・・・ 取得する文字数を指定します。省略すると引数 start で指定された文字より後にある文字列すべてを返します。
- string ・・・ 引数(start, length)で指定した文字列に設定するフリガナ(文字列型)を指定します。
Characters.PhoneticCharacters プロパティの詳細・使用例は、フリガナの設定(Characters プロパティ,PhoneticCharacters メソッド) を参照してください。
Characters プロパティ 使用例
サンプル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 45 46 47 |
Sub Sample_Characters() Dim CharCnt As Integer Dim str1 As String, str2 As String str1 = "あいうえお かきくけこ!" str2 = "かきく" Range("B2").Value = str1 'セル「B2」の文字数 '※ Characters の引数を省略しているので「B2」全体を参照 CharCnt = Range("B2").Characters.Count '「かきく」の書式を変更 With Range("B2").Characters(InStr(str1, str2), Len(str2)).Font .Size = 25 .Color = rgbDarkGreen .Italic = True End With 'セル「B2」最後の文字の書式を変更 With Range("B2").Characters(CharCnt, 1).Font .Size = 20 .Color = rgbRed .Bold = True End With '指定した文字列「いう」を削除 Range("B2").Characters(2, 2).Delete '指定した場所に文字列を挿入 '1番目の引数:挿入場所 '2番目の引数:挿入場所からの文字数分を削除し、指定した文字列と置き換える Range("B2").Characters(Start:=2, Length:=0).Insert "ABC" End Sub |
実行結果
関連記事
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
コメントの設定(Comments, Comment, AddComment, ClearComment)
コメントの設定 セルにコメントを新規に挿入するには、AddComment メソッ …
-
フリガナ(Phonetics プロパティ)
Phonetics プロパティ Phonetics コレクションを返します。値の …
-
セル範囲を結合・結合を解除(Merge メソッド・UnMerge メソッド)
Merge メソッド・UnMerge メソッド セルを結合するには、指定したセル …
-
セルの表示形式を設定・取得する(NumberFormat プロパティ)
NumberFormat プロパティ NumberFormat プロパティは、現 …
-
対象のセルを直接参照しているセル全てを取得(DirectDependents プロパティ)
DirectDependents プロパティ DirectDependents …
-
オートフィルタ(色で抽出する)AutoFilter メソッド
オートフィルタ(色で抽出する) フォントの色、セルの背景色(条件付き書式による設 …
-
グラデーション(Pattern プロパティ・Gradient プロパティ)
セルの背景ににグラデーションを設定する Pattern プロパティを使用するとセ …
-
文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)
HorizontalAlignment プロパティ HorizontalAlig …
-
A1 形式と R1C1 形式を変換、相対参照と絶対参照を変換(ConvertFormula)
ConvertFormula メソッド 数式で参照しているアドレスの相対参照と絶 …