• 締切済み

Excel セルの文字の後ろから2文字のみフォント

Excel 2007 セルに入力した文字の後ろから2文字のみ フォントサイズと色を指定したいのですが、可能でしょうか。 セルの書式設定/表示形式/ユーザー定義 で「@"御中"」と設定しております。 自動で御中の文字が入力された後、御中のみフォントサイズと色の指定をする事は可能でしょうか。 ------------------------------- (1)Sheet1に住所録リストがあります。 <例> A列  B列   C列 1   A社   神奈川 2   B社   東京 3   C社   千葉 (2)Sheet2に個人情報を表記するマスターを作成しました。 (2)行毎に、マスターのシートの指定したセルに個人情報が入力され、 新しいSheetが作成できるようVBAを設定しました。 <例> Sheet3  セルA列3行; A社  セルA列4行; 神奈川 Sheet4  セルA列3行; B社  セルA列4行; 東京 (3)新しいSheetに表記した企業名にセルの書式設定(ユーザー定義)で "御中"が表記できるように設定していますが、  その文字のみフォントサイズと色を指定する事は可能でしょうか。 ※初心者です、下記のコードもネット検索や色々なところに相談して作成しました。 ----------------------------------- Sub macro1() Dim h As Range Application.ScreenUpdating = False On Error Resume Next For Each h In Application.Intersect(Selection.EntireRow, Range("A:A")) If h <> "" Then '既存シートを削除する Application.DisplayAlerts = False Worksheets(h.Offset(0, 1).Value).Delete Application.DisplayAlerts = True 'シートを作成する Worksheets("マスタ-").Copy after:=Worksheets(Worksheets.Count) ActiveSheet.Name = h.Offset(0, 1).Value '住所を挿入する ActiveSheet.Cells(3, 2).Value = h.Offset(0, 2).Value '企業名を挿入する1 ActiveSheet.Cells(4, 2).Value = h.Offset(0, 1).Value Range("A1").Formula = "=全リスト!" & h.Address h.Offset(0, 1).Hyperlinks.Delete Worksheets("全リスト").Hyperlinks.Add anchor:=h.Offset(0, 1), Address:="", SubAddress:=h.Offset(0, 1) & "!A4" End If Next 'シートを並べ替える Worksheets("全リスト").Select For Each h In Range("B2:B" & Range("B65536").End(xlUp).Row) Worksheets(h.Value).Move after:=Worksheets(Worksheets.Count) Next Worksheets("全リスト").Select Application.ScreenUpdating = True End Sub

みんなの回答

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

>(1)B列すべてに御中が入ってしまう そういうマクロです。 どういう条件で御中を入れたいのか不明だったので、そういうマクロにしました。 ここにしたいなら、御中を付けたいセルを範囲選択の上、以下を実行してみて下さい。 Sub macro() Dim C As Range Set C = Selection C.Value = C.Value & "御中" With C.Characters(Len(C.Value) - 1, 2).Font .Name = "HGP行書体" 'フォントの種類 .ColorIndex = 3 '赤色 End With End Sub (2)御中のみフォントサイズの変更ができません。 以下の様にします。 Sub macro() Dim C As Range Set C = Selection C.Value = C.Value & "御中" With C.Characters(Len(C.Value) - 1, 2).Font .Name = "HGP行書体" 'フォントの種類 .ColorIndex = 3 '赤色 .Size = 12 ’★ End With End Sub

kkk3838
質問者

お礼

できました!使用しているExcelに組み込んで作業させるのに手間取っためお礼が遅れました。 ありがとうございました。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

表示形式のユーザー定義で設定した部分だけ違う色にする方法はありませんし、その部分だけフォントを変えることもできません。 するなら、表示形式ではなく、実際にセルに「御中」を入れないといけません。 B列にデータがあるとして以下の様にすれば、御中を追加し、その部分の色、フォントを変更出来ます。 Sub macro() Dim C As Range For Each C In Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row) C.Value = C.Value & "御中" With C.Characters(Len(C.Value) - 1, 2).Font .Name = "HGP行書体" ’フォントの種類 .ColorIndex = 3 ’赤色 End With Next C End Sub

参考URL:
http://support.microsoft.com/kb/883199/ja
kkk3838
質問者

お礼

さっそくのご回答ありがとうございました。 下記のように記載して試したところ、新しいSheetに御中は入るのですが、下記2件追加で質問させていただけますでしょうか。 (1)B列すべてに御中が入ってしまう (2)御中のみフォントサイズの変更ができません。 ------------------------------ '企業名を挿入する ActiveSheet.Cells(4, 2).Value = h.Offset(0, 1).Value Dim C As Range For Each C In Range("B1:B" & Range("B" & Rows.Count).End(xlUp).Row) C.Value = C.Value & "御中" With C.Characters(Len(C.Value) - 1, 2).Font .Name = "HGP行書体" 'フォントの種類 .ColorIndex = 3 '赤色 .fontsize=12 End With Next C

関連するQ&A

専門家に質問してみよう