- ベストアンサー
指定列のフォントを自動変換したいです
指定列のフォントを自動変換したいです ファイルの中の全てのシートを対象にM列とN列のみのフォントを SimSun (中国語のフォントです) というフォントにマクロを使って変更したい場合どのようにすればいいでしょうか? 恐れ入りますがお時間ある方で分かる方がいましたら教えて頂ければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です! 何とか希望に近い形で良かったです。 お示しのマクロ実行後に前回のマクロを実行すれば良いわけですよね? ごく単純に前回のコードをそのまま(1行目「Sub test()」と最終行「End Sub」は除いて) END SUB の前に挿入するだけで大丈夫だと思います。 (当然のことながら、変数の宣言から行います) ただし、変数の宣言部分「i」がお使いのコードの変数と重複しますので、 前回投稿した変数部分を他のものに変更すれば大丈夫だと思いますよ。 お使いのコードと関係のない「k」と「L」のような感じで・・・ この程度でよろしいでしょうか?m(__)m
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! こんな感じで良いのですかね? Sub test() Dim i, j As Long For i = 1 To Worksheets.Count For j = 13 To 14 Worksheets(i).Columns(j).Font.Name = "SimSun" Next j Next i End Sub 外していたらごめんなさいね。m(__)m
お礼
早速の返信ありがとうございました! まったく問題有りませんでした! ただ、下記のマクロを実行(複数置換マクロ)したあとに、tom04さまよりアドバイス頂いたマクロを実行したいのですが、その場合どのようにすればいいでしょうか? 恐れ入りますがアドバイス頂ければ嬉しい限りです。 ------------------- Sub 複数置換() Dim cntRow As Long Dim myVar As Variant Dim myBook As Workbook Dim mySht As Worksheet Dim i As Long '置換パターンを配列myVarに代入 With ThisWorkbook.Worksheets(1) cntRow = .Range("A" & Rows.Count).End(xlUp).Row myVar = .Range("A1:B" & cntRow).Value End With '対象ブックOpen Set myBook = Workbooks.Open("C:\excel\Exchange.xls") '対象ブックのワークシートをループ For Each mySht In myBook.Worksheets For i = 1 To cntRow If Len(myVar(i, 1)) > 0 Then mySht.Cells.Replace _ What:=myVar(i, 1), _ Replacement:=myVar(i, 2), _ LookAt:=xlPart, SearchOrder:=xlByColumns End If Next i Next End Sub
お礼
ご丁寧にアドバイス下さり本当にありがとうございました。 お陰さまで思っていたことが100%できるようになりました!