Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1546 / 13644 ツリー ←次へ | 前へ→

【73686】イベント2回目以降、セルの書式が変わらなくなる maimai 13/2/2(土) 11:27 質問[未読]
【73687】Re:イベント2回目以降、セルの書式が変わら... UO3 13/2/2(土) 11:42 発言[未読]
【73688】Re:イベント2回目以降、セルの書式が変わら... maimai 13/2/2(土) 12:00 回答[未読]
【73689】Re:イベント2回目以降、セルの書式が変わら... maimai 13/2/2(土) 14:57 お礼[未読]

【73686】イベント2回目以降、セルの書式が変わら...
質問  maimai  - 13/2/2(土) 11:27 -

引用なし
パスワード
   編集用シートと印刷用シート(保護あり)があります。
両シートのレイアウトは同一で、編集シートで入力した値が印刷シートの同じ番地に入ります。
("A2:G2")のいくつかに"A"が入力され、("A4:G10")の全てのセルに数種類の値が入力されます。

("A4:G10")の書式が変わるセルの条件は次のとおりです。
1)("A4:G10") のセルの値が"X"または"Y"または"Z" かつ、
2)("A2:G2")に"A"が入力された列

セルの書式はデフォルトで"MSP明朝"、条件該当の場合"MSPゴシック・太字"です。
編集シートは随時入力があります。印刷シートではその都度、条件該当の有無によって書式が変更する仕様です。

上記を踏まえて、下記のとおり作成しました。
1回目のイベントでは希望どおり書式が変更されます。
2回目のイベント以降、条件該当に関わらず、("A4:G10")のすべてのセルが"MSPゴシック・太字"になる原因がよく分かりません。
改善策をご教示いただけないでしょうか。よろしくお願い致します。

Private Sub Worksheet_activate()
ActiveSheet.Unprotect Password:="1234"
Application.ScreenUpdating = False
Range("A4:G10").Font.Name = "MS P明朝"
Range("A4:G10").Font.Bold = False
For Row = 4 To 10
For col = 1 To 7
If Cells(2, col) = "A" Then
If Cells(Row, col) = "X" Or Cells(Row, col) = "Y" Or Cells(Row, col) = "Z" Then
Cells(Row, col).Font.Name = "MS Pゴシック"
Cells(Row, col).Font.Bold = True
End If
End If
Next
Next
Application.ScreenUpdating = True
ActiveSheet.Protect Password:="1234"
End Sub

【73687】Re:イベント2回目以降、セルの書式が変わ...
発言  UO3  - 13/2/2(土) 11:42 -

引用なし
パスワード
   ▼maimai さん:

コードにはインデントをつけ、変数は必ず宣言した方が見やすいコードになりますので
是非、そうされたらよpろしいかと思いますが、ともあれ。

アップされたコードのまま、編集->印刷->編集->印刷->・・・・
と、繰り返しましたが、何度繰り返しても、太字になるべきところのみ太字になりますが?

(テストでは、仮に、印刷シートの対象領域に編集シートの同じセルを参照する式をいれています)

【73688】Re:イベント2回目以降、セルの書式が変わ...
回答  maimai  - 13/2/2(土) 12:00 -

引用なし
パスワード
   ▼UO3 さん:
>アップされたコードのまま、編集->印刷->編集->印刷->・・・・
>と、繰り返しましたが、何度繰り返しても、太字になるべきところのみ太字になりますが?

説明不足でした。すみません。
"太字→標準"または"標準→太字"の変更は希望どおりですが、
一度、MSPゴシックに変更されたセルが、デフォルト(MSP明朝)に戻らない現象が発生します。
(例:セルの値を"X"から"あ"に変更してもMSPゴシックのままになる。)

ただし、上記の例では、メニューバー上では"MS P明朝"に正しく変更されています。
印字すると"MS Pゴシック"なんです…。

【73689】Re:イベント2回目以降、セルの書式が変わ...
お礼  maimai  - 13/2/2(土) 14:57 -

引用なし
パスワード
   ▼UO3 さん:
>アップされたコードのまま、編集->印刷->編集->印刷->・・・・
>と、繰り返しましたが、何度繰り返しても、太字になるべきところのみ太字になりますが?

原因が判明しました!!
コード上の"MS P明朝"を"MS P明朝"に修正すると上手くいきました。
問題のセルの[セルの書式設定]−[フォント]を確認したところ、
「…サポートされていない。」と表示されていました。
半角・全角の違いが影響するとは思いませんでした。

ご検討いただきありがとうございました。
お手数おかけしました。

1546 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free