| 
    
     |  | まず、シートを開くコードの修正ですが 
 If Worksheets.Count > 28 Then
 x = Day(Date) - 1
 Worksheets(x).Activate
 End If
 End Sub
 
 というようにしておけば、最小枚数になる2月でもOKでしょう。
 >実際の表が2行目までタイトルで、3行目が項目名で、実際のデータは4行目
 それは問題でないと思います。ただ1・2行目をセル結合していると、どんな動作に
 なるか見当がつかないので、クリックする行を「3行目」に固定するとにします。
 それから、データの有無をチェックする列は「B列」で良いのですか ?
 他の列の方が良いなら、適当にそちらで変更して下さい。いちおう・・
 
 Sub R_Hidden_Change()
 If ActiveCell.Row <> 3 Then Exit Sub
 'On Error Resume Next
 If Hck = False Then
 If WorksheetFunction.CountA(Range("B4:B65536")) = 0 Then
 MsgBox "B列に値がありません", 48: Exit Sub
 End If
 Range("B4", Range("B65536").End(xlUp)) _
 .SpecialCells(4).EntireRow.Hidden = True
 Hck = True
 Else
 Cells.EntireRow.Hidden = False
 Hck = False
 End If
 End Sub
 
 というように修正して下さい。On Error Resume Next をコメント化しているので
 エラーか出たらデバッグするはすです。出たら内容を報告して下さい。
 あと、モジュールの先頭に
 
 Private Hck As Boolean
 
 の宣言はしてありますか ?
 
 
 |  |