• ベストアンサー

検索のマクロの作成

記号入力のツールバー(マクロ)があります。 そのツールバーから入力していない同じ記号 (例:MSゴシックで入力されている)文字を 検索するマクロを作成したいのですが 、どうしたらいいのですか。 ツールバーに登録されているマクロ↓ 以下のマクロでTimesNewRomanの%が入力できます。 Sub enpercent() Selection.InsertSymbol CharacterNumber:=37, Font:="TimesNewRoman", Unicode:=True, Bias:=0 End Sub

noname#23963
noname#23963

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 質問とVBAのコードとは何の関係もないようなのですが。 記録マクロ程度なら、こんな風にすればよいのですが、もしかしたら、英文を書いていらっしゃるのですか?本当は、置換ではないでしょうか?自分の文章(英文)でやってみたら、思ってもみないところで、MS ゴシックになっていました。 Sub FindFontName()   Selection.Find.ClearFormatting   Selection.Find.Replacement.ClearFormatting   With Selection.Find     .Text = ""     .Replacement.Text = ""     .Forward = True     .Wrap = wdFindContinue     .Font.NameFarEast = "MS ゴシック"     .Format = True     .MatchCase = False     .MatchWholeWord = False     .MatchByte = False     .MatchAllWordForms = False     .MatchSoundsLike = False     .MatchWildcards = False     .MatchFuzzy = False   End With   Selection.Find.Execute End Sub

noname#23963
質問者

お礼

お礼が遅くなりました。 いろいろとありがとうございました。

関連するQ&A

  • マクロ(VBA)でSymbolフォントを挿入したいです

    Sub μ() '' Selection.InsertSymbol Font:="Symbol", CharacterNumber:=-3987, Unicode:= _ True End Sub 上記マクロでSymbolフォントをWordに入力しようとしています. マクロで入力したフォントを選択すると, Wordの「書式設定」ツールバーでは,スタイルに規定されているフォント (スタイルで「Century」の場合は「Century」)になっていますが, PDFに変換し,TouchUPテキストツールでフォントを確認すると, 上記マクロで入力した「Symbol」になっていました. 上記マクロで入力したフォントをスタイルを変更することなく, Wordの「書式設定」ツールバーでも「Symbol」と表示されるようにできないでしょうか?

  • Symbolフォントのマクロ検索方法

    WindowsXP Pro Word2003 Symbolフォントを使用して±などの記号を使用していたのですが TimesNewRomanに変更したいので、文書全体を選択後フォントをTimesNewRomanに 変更したところ、フォント名はTimesNewRomanに変更されましたが フォント自体はSymbolのままのチグハグ状態になってしまいました。 1つ1つ見ていけば直せるのですが量が多く大変なのでマクロを組んで 検索できないものかと思い調べてみましたが見つかりませんでした。 Wordのフォント検索ではSymbolは見つかりませんでした。(フォント名がTimesになっているので) If ActiveDocument.Range(文字の位置).Font.Name = "Symbol" then でもひっかかりませんでした。 Selection.InsertSymbol CharacterNumber:=177, Font:="Symbol", Unicode:=False これでSymbolフォントの文字挿入ができるので、逆に1文字ずつのCharacterNumberを 取得できればSymbolフォントかどうかを判断できるかなぁと思ったのですが、不可能でしょうか。 この様な状態でマクロでのSymbolフォントを検索できる方法はありませんでしょうか?

  • Excelマクロ教えてください。

    いつも大変お世話になっております。 あるシートにあるフォントのすべてをMSゴシックにしたいのですが、 マクロ記録→全選択してフォント変更→記録解除 で下記のマクロができました。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2007/11/21 ユーザー名 : TEST ' ' Cells.Select With Selection.font .Name = "MS ゴシック" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub 全選択せずに、あるシートすべてのフォントを変更する方法はありますか? シートのフォントを変更するだけの目的です。 よろしくお願いします。

  • wordマクロで検索⇒フォント変更したいが、結果がとびとびになります。

    MSwordのマクロについてです。マクロはど素人です。 「数式に使うa,b,n,p,q,r,t,u,v,w,x,y,zの文字を検索して、CMUserifというフォントに変え、サイズを2pt大きくする」 つもりで、以下のマクロを見よう見まねで作って実行したところ、うまく変更される文字とされない文字が混在してしまいます。 これはどのような理由によるもので、また、どのようにマクロを訂正すればよいのでしょうか。 --- Sub 数式用フォントに変更() Selection.StartOf wdStory With Selection.Find Do While .Execute(FindText:=\"[a-bn-np-rt-z]\", Forward:=True, Format:=False, MatchWildcards:=True, MatchSoundsLike:=False) = True With Selection Selection.Find.Execute Selection.Font.Name = \"CMU Serif\" Selection.Font.Size = Selection.Font.Size + 2 Selection.Find.ClearFormatting End With Loop End With End

  • 以下のようなマクロを作成しましたが、文章の最後まで連続置換をしたい場合

    以下のようなマクロを作成しましたが、文章の最後まで連続置換をしたい場合はどうすればよいのでしょうか。 ご教示をお願い致します。 ************************ Selection.Find.ClearFormatting With Selection.Find .Text = "<G>*<M>" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchFuzzy = False .MatchWildcards = True End With Selection.Find.Execute Selection.Font.Name = "MS ゴシック" Selection.Find.ClearFormatting With Selection.Find .Text = "<G>*<M>" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchFuzzy = False .MatchWildcards = True End With End Sub ************************

  • 任意のセルに貼り付けをするマクロのアドバイスを

    マクロの初心者です。エクセル2010を使用しています。 以下のようなマクロをいろいろ検索し参考にして作りましたが、 シート1でコピーし、シート2の任意のセルに貼り付けをして、そのままシート2で終了するには、どうすればよいでしょうか。 現在では、シート2のセルに貼り付け、その他の処理を終えると、シート1のコピー元に戻って終了してしまいます。 そして、このマクロを個人用マクロとして、すべてのブックで使用するのは可能でしょうか。 その場合はどうすればよいのでしょうか。 アドバイスをよろしくお願いします。 Sub 値と横連結() Application.DisplayAlerts = False With Application.InputBox _ ("貼付先セルをクリック") Selection.Copy .PasteSpecial paste:=xlPasteAll, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False .PasteSpecial paste:=xlPasteValues, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False With Selection If Selection.Count = 1 Then Exit Sub .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With With Selection.Font .Name = "MS Pゴシック" .Size = 8 End With Selection.Borders.LineStyle = xlContinuous Selection.Borders.Color = -10375249 Selection.Merge True Application.DisplayAlerts = True End With End Sub

  • Windows7, MSWord2007 でマクロを使用しています。以

    Windows7, MSWord2007 でマクロを使用しています。以前うまく行っていたのに今日はエラーで止まります。 記入した文字を日本字はMS明朝10.5PT, 半角アルファベットはTimesNewRomanPT12 に統一するマクロです。 [検索する文字列]に指定したパターンマッチングが正しくありません、と表示されます。 他人からいただいたマクロなので自分で直せません。ご援助いただければと存じます。 止まった行: .Execute Replace:=wdReplaceAll マクロ全文: Sub SelectedFontChangedMSMincho10_5TimesNewRoman12() Dim myRng As Range With ActiveDocument Set myRng = .Range(Selection.Range.Start, .Range.End) End With With myRng.Font .NameFarEast = "MS 明朝" .NameAscii = "Times New Roman" .NameOther = "Times New Roman" .Size = 10.5 End With With myRng.Find .ClearFormatting .Text = "[0-9A-Za-z,.\\\!\?""'/$\%\&\#\(\)\=\-\+\<\>]{1,}" '半角スペース~チルダ .Forward = True .Wrap = wdFindStop .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True .MatchFuzzy = False With .Replacement .ClearFormatting .Text = "" .Font.Size = 12 End With .Execute Replace:=wdReplaceAll End With End Sub

  • エクセルのマクロ

    Sub test() Dim x As Range  For Each x In Selection    If x.Value <> "●" And Selection.Font.ColorIndex = 0 Then    x.Value = "○"  End If Next End Sub 上記は、選択されているセルのフォントが黒でかつ"●"が入力されていない場合は"○"を入力する、というマクロですがうまく動作しません。どうすれば正常に動作するようになるでしょうか?

  • マクロの実行ボタンを削除するマクロ

    以下のようなコードを書いたのですが シート内にボタンができてそのボタンを最終的には削除したいです 資料作成のテンプレートとして下記コードを書いたのですが 資料ができた時にボタンがあるままだと見栄えがいまいちなのでマクロ実行ボタンを削除したくなりました。 シート数は30枚くらいあるので1シートずつマクロ実行ボタンを削除するのは正直しんどいです 一度にシートを全部選択してマクロ実行ボタンを削除したいです マクロ実行ボタンの箇所は全シート同じ箇所にあります Sub ボタン() Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone ActiveSheet.Buttons.Add(108, 40, 55, 15).Select Selection.OnAction = "図形挿入等倍" Selection.Characters.Text = "図形挿入" With Selection.Characters(Start:=1, Length:=4).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 1 End With Range("E4").Select ActiveSheet.Buttons.Add(215, 40, 55, 15).Select Selection.OnAction = "赤枠" Selection.Characters.Text = "赤枠" With Selection.Characters(Start:=1, Length:=2).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 1 End With Range("G4").Select ActiveSheet.Buttons.Add(323, 40, 55, 15).Select Selection.OnAction = "テキスト入り赤四角" Selection.Characters.Text = "テキスト" With Selection.Characters(Start:=1, Length:=4).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 1 End With Rows("12:12").Select ActiveWindow.FreezePanes = True End Sub

  • ワードでマクロがうまくいきません。

    よろしくお願いします。 マクロの知識はほとんどないのですが、 「マクロの記録」の機能を使い、ワードで 「スペースを探し出し、そのスペースにアンダーラインを引く。」 ために、 -------------------- 編集ー置換ー 検索する文字列にスペースをタイプ、 置換後の文字列にスペースをタイプ、 オプションの書式で、フォント、下線、一重下線 すべて置換 -------------------- マクロの記録を選択した後、上のように作業しました。 そしてマクロの記録をとめました。 マクロの記録中の操作では、思い通りに置換されるのですが、 次にそのマクロを作動させると、なにもおこりません。 なにか変な操作をしたのか、と五度くらい試したのですが、 やはり動きません。 中身は、↓のようでした。 -------------------- Sub Macro2() ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True End With Selection.Find.Execute Replace:=wdReplaceAll End Sub -------------------- どうしてうまく動かないのでしょうか。 教えていただけるとありがたいです。よろしくお願いします。

専門家に質問してみよう