文字列の一部の書式を変更(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 |
実行結果
関連記事
-
セルをアクティブにする・セルを選択する(Activate, Select)
セルをアクティブにする・選択する 【書式:セルをアクティブにする】 object …
-
対象のセルが参照している全てのセルを取得(Precedents プロパティ)
Precedents プロパティ Precedents プロパティは、対象のセル …
-
ワイルドカードを使って検索(Find メソッド)
Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …
-
コメントの設定(Comments, Comment, AddComment, ClearComment)
コメントの設定 セルにコメントを新規に挿入するには、AddComment メソッ …
-
行の高さを取得・設定・する(RowHeight プロパティ)
RowHeight プロパティ RowHeight プロパティは、対象セルの高さ …
-
外枠罫線の設定(BorderAround メソッド)
外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …
-
ハイパーリンク(Hyperlink オブジェクト)
Hyperlink オブジェクト Hyperlinks コレクション のメンバー …
-
セル・セル範囲を切り取る(Cut メソッド)
Cut メソッド Cut メソッドは、指定したセル範囲を切り取り、引数に指定した …
-
AutoFilter オブジェクト(メソッド・プロパティ)
AutoFilter.ShowAllData メソッド AutoFilter.S …
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …