エクセルの置換でオプションを使えば、書式も置換できますが、置換したい文字だけでなく、セル全体の書式が置換されてしまいます。
例えば「ロシアとアメリカ」とあるセルの、「アメリカ」を「中国」に置換して、「中国」の部分だけフォントをゴシックから明朝に変えたくても、セル全体が明朝になってしまいます。
今は、とりあえず「アメリカ」を「中国」に、オプションなしで一括変換して、ひとつずつ手動でフォントを変更していますが、大変な手間が掛かり、フォントの選択ミスなども起こります。
なにかいい方法はないでしょうか。
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
こんにちは。
Wendy02です。>あとから「文字列一括置換」をやると、セルごとフォントが元に戻っちゃうのは、エクセルの仕様でしかたないですね。^^;
例えば、「アメリカ」を「中国」に換える場合を考えると、まず、「アメリカ」を「中国」に変更してから、「中国」セルの中の書式を換えるという仕組みになるわけです。それ自体の仕組みは、容易に想像できるかとは思います。つまり、このようにすれば可能です。
Sub ReplaceFormatInCells()
'セルの書式の一部を変更するマクロ
Dim mWhat As String
Dim mFadd As String
Dim c As Range
Dim mFind As String
mFind = Application.InputBox("検索する単語を入れてください。", Type:=2)
If mFind = "False" Or mFind = "" Then Exit Sub
mWhat = Application.InputBox("置換する単語を入れてください。", Type:=2)
If mWhat = "False" Or mWhat = "" Then Exit Sub
ActiveSheet.UsedRange.Replace _
What:=mFind, Replacement:=mWhat, _
SearchOrder:=xlByRows, MatchCase:=True
'Sub ReplaceFromatInCells() ~ Set c = の7行分をこのように置き換えれば出来ます。
ありがとうございます。
こうすれば一度に文字列もフォントも変えられますね。
ひとつのセルに変えたい文字列が複数ある場合でも対応できるように、がんばってみたいと思います。
No.4
- 回答日時:
こんばんは。
もし、もう解決済みでしたら、以下は無視してくださって結構です。
'標準モジュールです。
Private Const の後にところに、それぞれ、選んで書き入れてください。
'-------------------------------------------------
'Option Explicit
'フォントの種類
Private Const FNAME As String = "MS 明朝" 'MS ゴシック
'文字のスタイル
Private Const FSTYLE As String = "標準" '太字, イタリック
'文字の大きさ
Private Const FSIZE As Single = 11
'文字の色
Private Const FCOLT As Integer = xlAutomatic '色は以下から数字を選ぶ
'黒(1),白(2),赤(3),黄緑(4),青(5),黄色(6),ピンク(7),
'水色 (8), 茶(9), 緑(10), 藍(11), 黄土色(12), 紫(13), 濃緑(14)
'灰色 (15), xlAutomatic のみ「自動」(ColorIndexを調べると分かります)
Sub ReplaceFormatInCells()
'セルの書式の一部を変更するマクロ
Dim mWhat As String
Dim mFadd As String
Dim c As Range
mWhat = Application.InputBox("検索する単語を入れてください。", Type:=2)
If mWhat = "False" Or mWhat = "" Then Exit Sub
Set c = ActiveSheet.UsedRange.Find( _
What:=mWhat, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchDirection:=xlNext, _
MatchCase:=True, _
MatchByte:=True)
If Not c Is Nothing Then
mFadd = c.Address
ReplaceFont c, mWhat
Do
Set c = ActiveSheet.UsedRange.FindNext(c)
If c.Address = mFadd Then Exit Sub
ReplaceFont c, mWhat
Loop Until c Is Nothing
End If
End Sub
Private Sub ReplaceFont(rng As Range, strSearch As String)
Dim i As Integer
Dim Ln As Integer
Ln = Len(strSearch)
i = InStr(rng.Value, strSearch)
With rng.Characters(i, Ln).Font
.Name = FNAME
.FontStyle = FSTYLE
.Size = FSIZE
.ColorIndex = FCOLT
End With
End Sub
ありがとうございます。
「文字列一括置換」→「フォント変更」なら、これでできそうです。
あとから「文字列一括置換」をやると、セルごとフォントが元に戻っちゃうのは、エクセルの仕様でしかたないですね。^^;
No.3
- 回答日時:
2番です。
下記のページの紹介にはフォントの変更はありませんが、ちょっと手を加えるとフォントの設定も可能になります。
.ColorIndex = tmpColorIndex 'カラー
の他に
.Name = tmpFont 'フォント
を付け足します。
そしてtmpFontの値は
tmpFont = "MS 明朝"
tmpFont = "MS P明朝"
tmpFont = "MS ゴシック"
tmpFont = "MS Pゴシック"
などとします。
私はフォント設定も追加してユーザーフォームを作っております。
No.2
- 回答日時:
はじめまして
ココは参考になると思うのですが、いかがでしょうか?
http://www.excel7.com/personal/personal1-4.htm
参考URL:http://www.excel7.com/personal/personal1-4.htm
No.1
- 回答日時:
置換したいセル範囲だけ選択しておいて、置換すればよいのでは?
多分、飛び飛びに離れたセル範囲でもOKだと思いますよ。
フォントの書式は、置換直後、選択された状態のまま変更すればよかったと思います。
この回答への補足
質問が下手ですみません。
例で言えば「ロシアとアメリカ」というのがひとつのセルの中に入っているのです。A1とかに。
で、その中の「アメリカ」の部分だけを置換したいのですが、置換オプションでフォントを変えると、A1セル全体、つまり「ロシアとアメリカ」すべてのフォントが変わってしまうんです。
こうしたセルが膨大な数あるので、一つ一つ手作業では大変なので、一度にできないかと思っています。
>フォントの書式は、置換直後、選択された状態のまま変更すればよかったと思います。
やってみましたが、置換するとすぐ次の該当セルへ飛びます。
置換した部分だけフォントを変えたいのですが、また検索しなおして、一つ一つやるしかないのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) ワードフォント 一括置換の方法 4 2022/12/31 00:27
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(パソコン・スマホ・電化製品) エクセル作成後のフォントの一括変換できますか?やり方も教えてください。 3 2023/02/26 15:57
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
【お題】 ・こんなおせち料理は嫌だ
-
店員も客も斜め上を行くデパートの福袋
シュールを通り越して店員も客も斜め上を行くデパートの福袋に入ってそうなものを教えて下さい。 よかったらレビューもしてください。
-
Excel内の一部の文字列の書式ごと置換する方法について
Excel(エクセル)
-
セルの一部のフォントの置き換え可能ですか?エクセル2000
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
5
エクセル 置き換えをするとセル内のフォントサイズが
その他(Microsoft Office)
-
6
セル内の一部の色と文字列の置換
Word(ワード)
-
7
エクセル テキスト中一部の文字サイズを変更するには?
Excel(エクセル)
-
8
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
9
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
10
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
11
【エクセル】関数で「A1が0でないならB1を表示」の式
その他(コンピューター・テクノロジー)
-
12
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
13
excel関数式の一部を太字にする
その他(Microsoft Office)
-
14
セルの書式設定で一部のフォントサイズを変更したい
その他(Microsoft Office)
-
15
関数で抽出したセルの一部の文字を変更したい
Excel(エクセル)
-
16
excel:条件付き書式の適用範囲が変わる
Excel(エクセル)
-
17
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
18
パワポの複数ページにまたがる表の位置を揃えたい
PowerPoint(パワーポイント)
-
19
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelからテキストへのコ...
-
Excelで、半角スペースをTABに...
-
excelで可視セルのみ置換
-
エクセルのセルの中の,よりも前...
-
小数点を消す方法
-
Excelのシートにある1行...
-
置換機能を使わずに先頭に「'」...
-
エクセルの関数で、記号などを...
-
Excelのmatch関数エラー原因が...
-
エクセルの表ををメモ帳などに...
-
Excelの入力済みセルに一括で、...
-
Excel 「k」の単位表示を数値に...
-
エクセルでセルを文字列設定し...
-
エクセルでセル内の一部分だけ...
-
エクセルでスペースの記号を表...
-
別シートのリストから置換する方法
-
企業名簿で(株)や(有)を無視し...
-
Excelで特定の文字の前だけに空...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelからテキストへのコ...
-
エクセルのセルの中の,よりも前...
-
Excelで、半角スペースをTABに...
-
Excelのシートにある1行...
-
Excelの空文字セルの削除方法を...
-
置換機能を使わずに先頭に「'」...
-
excelで可視セルのみ置換
-
Excelのmatch関数エラー原因が...
-
Excelの入力済みセルに一括で、...
-
エクセルでセル内の一部分だけ...
-
小数点を消す方法
-
【エクセル】ピボットテーブル...
-
エクセルの関数で、記号などを...
-
エクセルの表ををメモ帳などに...
-
エクセルの置換 メアドの@の前...
-
企業名簿で(株)や(有)を無視し...
-
Excelで特定の文字の前だけに空...
-
Excelのアポストロフィーの削除
おすすめ情報