質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

1回答

631閲覧

【WordVBA】選択範囲で検索→見つけた文字列の1文字目のフォントを変えたい

netz-eng

総合スコア105

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Word

Microsoft WordはMicrosoftが開発した業務用の文書生成用のソフトウェアです。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2021/12/10 04:37

前提・実現したいこと

論文用に、Wordにて「μm」を手早く入力or変換する方法を考えています。

現在、選択範囲に「mm」があるか検索し、
見つけた場合その1文字目のフォントをSymbolに変更する、という構想を練り、コードを書いてみましたが、うまく動作していません。

参考にしたコードでは検索→変更→ループがうまくいっているようなのですが、
私の環境では選択範囲内の1つ目の「mm」は「μm」になりますが、以降は「mm」のままで、ループが機能していません。

理由が分からず困っています。解決策を教えていただきたく思います。

該当のソースコード

vba

1Sub Trial() 2 3Application.ScreenUpdating = False 4 5Dim MU As String 6Dim Rng As Range 7 8MU = "mm" 9 10Do While Selection.Find.Execute(MU) 11 12 Set Rng = Selection.Range 13 Rng.Characters(1).Font.Name = "Symbol" 14 15Loop 16 17Set Rng = Nothing 18 19Application.ScreenUpdating = True 20 21End Sub 22 23 24

補足情報(FW/ツールのバージョンなど)

Windows10
Word 2021

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず場所をおぼえておいて後で変更するのはどうでしょう。

VBA

1Dim dic As Object 2Set dic = CreateObject("Scripting.Dictionary") 3 4Do While Selection.Find.Execute(MU) 5 dic.Add dic.Count, Selection.Range 6Loop 7 8Dim k 9For Each k In dic 10 Set Rng = dic(k) 11 Rng.Characters(1).Font.Name = "Symbol" 12Next 13

投稿2021/12/10 06:53

jinoji

総合スコア4585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

netz-eng

2021/12/10 07:51

迅速なご回答ありがとうございます。 ご提示いただいたコードで、問題なくできました! 初めて辞書を使いましたが、こんな使い方ができるんですね。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問