文字列の一部の書式を変更(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 |
実行結果
関連記事
-
-
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)
列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」 …
-
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
2つ以上のセル範囲を1つにまとめて参照(Union メソッド)
Union メソッド Union メソッドは、2つ以上のセル範囲を1つにまとめて …
-
-
入力規則(入力時メッセージの設定)Validation オブジェクト
入力規則の入力時メッセージを表示する Validation.ShowInput …
-
-
数式を非表示にする(FormulaHidden プロパティ)
FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …
-
-
文字列の横位置を取得・設定する(HorizontalAlignment プロパティ)
HorizontalAlignment プロパティ HorizontalAlig …
-
-
次の検索(FindNext メソッド,FindPrevious メソッド)
FindNext メソッド Find メソッドで開始された検索を継続します。引数 …
-
-
セルの幅・高さの自動調整(AutoFit メソッド)
AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …
-
-
AutoFilter オブジェクト(メソッド・プロパティ)
AutoFilter.ShowAllData メソッド AutoFilter.S …