- 締切済み
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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kybo
- ベストアンサー率53% (349/647)
>(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
- kybo
- ベストアンサー率53% (349/647)
表示形式のユーザー定義で設定した部分だけ違う色にする方法はありませんし、その部分だけフォントを変えることもできません。 するなら、表示形式ではなく、実際にセルに「御中」を入れないといけません。 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
お礼
さっそくのご回答ありがとうございました。 下記のように記載して試したところ、新しい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
お礼
できました!使用しているExcelに組み込んで作業させるのに手間取っためお礼が遅れました。 ありがとうございました。