[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロが原因でフォントが勝手に変わる』(ヤドン)
あるシートから別シートへ転記をするマクロです。
これを実行すると、C13とC20のフォントが明朝体からゴシック体に勝手にかわってしまいます。
かなり前に他の方が作成したマクロで、私自身マクロにあまり詳しくないので、どこがおかしな点なのかがわかりません。
ご指摘いただきたいです。
Sub 転記()
Sheets("シート3").Select Range("A6:K34,A43:K70").Select Selection.ClearContents Range("A1").Select Sheets("シート2").Select Range("G7:J35").Select Selection.Copy Sheets("シート3").Select Range("A6").Select Selection.PasteSpecial Paste:=xlValues Sheets("シート2").Select Range("M7:R35").Select Application.CutCopyMode = False Selection.Copy Sheets("シート3").Select Range("E6").Select Selection.PasteSpecial Paste:=xlValues Sheets("シート2").Select Range("F36:I63").Select Application.CutCopyMode = False Selection.Copy Sheets("シート3").Select Range("A43").Select Selection.PasteSpecial Paste:=xlValues Sheets("シート2").Select Range("L36:Q63").Select Application.CutCopyMode = False Selection.Copy Sheets("シート3").Select Range("E43").Select Selection.PasteSpecial Paste:=xlValues
Sheets("シート2").Select Range("C7:C35").Select Selection.Copy Sheets("シート3").Select Range("K6").Select Selection.PasteSpecial Paste:=xlValues Sheets("シート2").Select Range("C36:C63").Select Selection.Copy Sheets("シート3").Select Range("K43").Select Selection.PasteSpecial Paste:=xlValues Range("A1").Select
Sheets("入力シート").Select Range("A1").Select End Sub
よろしくお願いいたします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
値貼り付けだと、貼り付け先の書式がそのまま適用されます。 Paste:=xlValuesを全て削除するとコピー元の書式通りになりつけされます。
マクロの記録で生成されたコードなので、この際修正?
規則性を見るのは面倒なので、そのまま
Sub 転記() Sheets("シート3").Range("A6:K34,A43:K70").ClearContents Sheets("シート2").Range("G7:J35").Copy Sheets("シート3").Range("A6") Sheets("シート2").Range("M7:R35").Copy Sheets("シート3").Range("E6") Sheets("シート2").Range("F36:I63").Copy Sheets("シート3").Range("A43") Sheets("シート2").Range("L36:Q63").Copy Sheets("シート3").Range("E43") Sheets("シート2").Range("C7:C35").Copy Sheets("シート3").Range("K6") Sheets("シート2").Range("C36:C63").Copy Sheets("シート3").Range("K43") Application.Goto Sheets("入力シート").Range("a1"), True End Sub (seiya) 2019/08/21(水) 11:51
しかし、おっしゃる現象は見たことがあります。 原因は、セルの着色をスタイルで行っている場合、またはセルのスタイルが壊れている場合です。 症状としては、手修正しても、ブックを保存してから開きなおすと元に戻る感じ。 セル直接の変更が無視されて、セルのスタイルで上書きされてしまうのです。 勝手に罫線が変わったり、色が変わったりする事もあります。(ぱっと見でも、表が壊れる、という感じ)
対策は、故意に行っているのであればセルのスタイルを「変更」すれば良いだけですが、壊れている場合(「セルのスタイル」を表示すると、変な文字列の定義がずらーっと並んだりする)、新しいブックに移行するしかないでしょう。 この際、シートのコピーやセル範囲のコピーを行うと、セルのスタイルも壊れたまま一緒にコピーされてしまい、同じ現象になるので、値だけコピーして、罫線や着色は全部やり直しましょう。
(???) 2019/08/21(水) 11:55
詳しいことは省いて書いたのですが、シート2からシート3への転記です。
シート3のC13とC20のフォントが勝手に変わります。それも、2文字目からフォントが変わります…
見たらこのブックが作成されたのは1996年だそうで、かなり古いです。(関係ないと思いますが。)
(ヤドン) 2019/08/21(水) 14:56
>C13とC20のフォントが明朝体からゴシック体に勝手にかわってしまいます。
コピー元と違うということなのでしょうか?
>2文字目からフォントが変わります…
こういうのは、セルごと貼り付けないと書式などはコピーされません。 というか、文字のみの張りつけだと、文字の装飾類はリセットされると思います。 (BJ) 2019/08/21(水) 15:52
別のマクロが無いか、確認してみてください。 例えば、マクロの記録では標準モジュールにコードが書かれますが、シート毎のモジュールにコードを書くこともできます。 セルが変化した場合にマクロを自動動作させるのも、シートモジュールの方になります。 マクロの編集画面で、左側にあるシート名を、全てダブルクリックして、コードの有無を確認してみてください。
(???) 2019/08/21(水) 17:01
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.