Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
まっさらなBookで全てのシート上で任意のセルに何か入力した時、シートの見出しの色を変えたい
投稿日時: 21/02/12 17:52:51
投稿者: TTOS

お世話になっております。
属性「.xls」時代に下記Codeを「ThisWorkbook」に記述していました。
やりたい事は全てのシートでセルに何も入力されていない場合、
任意のシートでセルに何かを入力すると見出しの色を無し→赤に変更ていました。
 
属性「.xlsm」で同じCodeを書きますと、何も動かないようです。
 
改善点をご教示頂ければ幸いです。
宜しくお願い申し上げます。
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Application.CountA(Sh.Cells) > 259 Then
        Sh.Tab.ColorIndex = 3
    Else
        Sh.Tab.ColorIndex = xlNone
    End If
End Sub

回答
投稿日時: 21/02/12 20:19:41
投稿者: WinArrow
投稿者のウェブサイトに移動

259
って何?

回答
投稿日時: 21/02/12 22:14:55
投稿者: WinArrow
投稿者のウェブサイトに移動

>何も動かないようです
 
ステップ実行して動きを確認してみましょう

回答
投稿日時: 21/02/12 22:32:33
投稿者: simple

横から失礼します。
ご指摘に沿って是非確認して頂きたいですが、
> If Application.CountA(Sh.Cells) > 259 Then
そのシートの非空白セルの数が259個を超えていたら、
という意味ですが、そういう条件を満たしているんですか?
まっさらなシートの一つのセルに入力しただけでは、それは満たされないですよね。
ご存じであれば失礼。
それはもちろん満たしています、というなら、別の理由でしょう。
EnableEventsが一時的にFalseになっているとか、
マクロ機能そのものが無効になっているとか。

投稿日時: 21/02/15 19:10:10
投稿者: TTOS

WinArrow様・simple様
 
お世話になっております。
ご教示、ありがとうございました。
 
申し訳ありませんでした。「まっさらな」とは誤りで、既に「259」のセルに
デフォルトで入っておりました。
もし「「まっさらな」であれば「0」でした。
勘違いをして皆様に質問し済みませんでした。
おかげ様で解決に至りました。
ありがとうございました。
 
TTOS