- ベストアンサー
セルの一部のフォントの置き換え可能ですか?エクセル2000
A列に店名がならんでいます。 1鈴木商店 2山田商店 3田中呉服店 4山口飲食店 ・ ・ ・ たとえば、 これの一文字の「店」のフォントだけを他のフォントに 一括で置き換えできませんか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A列以外の適当なセルを選び、そのセルの書式(フォント)を変更したいフォントに設定してください。 上記のセルが選択された状態で、以下のマクロを実行してみてください。 作動する範囲はA1:A100になっています、実情に合わせて書き換えてください。 #このマクロでは、各セル中で変更できる文字は1つだけです。 Sub test() For Each c In Range("A1:A100") '←作動範囲 p = InStr(c, "店") If p > 0 Then c.Characters(Start:=p, Length:=1).Font.Name = _ ActiveCell.Font.Name End If Next End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
#1です。 私の回答の主眼目はCharacters()の紹介にありましたが。 >フォントの種類を変えたいのです エクセルVBAでフォントの種類を指定するのはFont.Name=です。 Cells(i, "A").Characters(p).Font.Name="○○" を入れてください。 例えば・・・.Font.Name = "HG創英角ゴシックUB"のように。 だだフォントの種類を表す漢字カナ文字表現は、正確にはどういう文字綴りなのか、記述が難しいと個人的に思います。 そこであるセル内の文字全体を、ご希望のフォントに変更する操作をします。そのとき「マクロの記録」を使って、記録しておき、内容をツール-マクロ-マクロ-「編集」で見てFont.Name=を探し、=の右辺を見て、コピーし貼りつけして下さい。
お礼
sakenomoさんの方法で、うまくいきました。 imogasiさんの方法も、試してみます。 どうも、ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
これは多分VBAでないと、出来ないでしょう。 VBAでは Sub test01() For i = 1 To 30 s = Cells(i, "A") p = InStr(s, "店") Cells(i, "A").Characters(p).Font.Size = 23 Cells(i, "A").Characters(p).Font.ColorIndex = 5 Next i End Sub 上記はA列のセルの文字列を対象にしています。 C列ならA-->Cに変えること。 30行のセルを対象にしています。 第18行までならFor i = 1 To 30をFor i = 1 To 18 にします。 上記はフォントサイズと色を指定してます。 ColorIndex=●がどう言う色かは実際に入れて試してみるかColorIndexでWEB照会してください。
お礼
どうも、ありがとうございました。 しかしVBAが、いまいち理解できてないのです。 ただ、フォントサイズや色でなくて、 フォントの種類を変えたいのです。 使いたいフォント(フリーで、JISにない)が、 JISにないので、その文字だけを 他のフォントにかえたいのです。
お礼
どうも、ありがとうございました。 一文字だけでいいんです。 うまくいきました。