Excel VBA テクニック集 |
|
セルの書式(文字列の一部)の取得・設定方法です。 使い方は、ファイル一覧を使った応用の、「マクロ専用ファイル」によるマクロ実行に、下記コードを入れます。 書式設定の一般書式は Dim Range_Obj As Object Set Range_Obj = Excel_App.ActiveSheet.Range("B2") 先頭文字位置から文字数分の指定は Range_Obj.Characters(先頭文字位置, 文字数) 先頭文字位置から最終文字までの場合は Range_Obj.Characters(先頭文字位置) によって指定します。 たとえば「太文字」指定 5文字目から14文字まで、つまり10文字分の場合は、 Range_Obj.Characters(5, 10).Font.Bold = True 7文字目から最終文字までの場合は Range_Obj.Characters(7).Font.Bold = True になります。 「太文字」以外の指定は、 フォント名 Range_Obj.Characters(7).Font.Name = (フォント名) フォントサイズ Range_Obj.Characters(7).Font.Size = (フォントサイズ) 取消し線 Range_Obj.Characters(7).Font.Strikethrough = (論理値) ColorIndex Range_Obj.Characters(7).Font.ColorIndex = (カラーインデックス) Color自動 Range_Obj.Characters(7).Font.ColorIndex = xlAutomatic Color Range_Obj.Characters(7).Font.Color = (カラー値) になります。文字列の書式を取得する場合、文字により書式が違う可能性があるため、1回の命令で取得することはできません。 たとえば、全体のフォントは「游ゴシック」、一部分だけ「HG創英角ポップ体」になってます。「フォント名」を例に下記マクロを実行します。 Dim Font_Tbl() As String Dim Len_I as Integer Dim I As Integer Len_I = Len(Range_Obj.Characters.Text) '注:改行Chr(10)も1文字としてカウントされます ReDim Font_Tbl(Len_I) For I = 1 To Len_I Font_Tbl(I) = Range_Obj.Characters(I, 1).Font.Name Next I文字ごとのフォント名が取得できるので、Font_Tbl()を操作すれば、詳しい情報が取得できます。 |
「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究| |