我已经有了工作表,用户将隐藏/取消隐藏列以进行打印。在这些列中是某些单元格,当隐藏这些列时需要将这些单元格复制到可见区域,而当它们不被隐藏时,这些单元格会被反转。该功能可以很好地检测列'激活工作表时的可见状态。但是,在更改列状态时不会更新。我知道worksheet_calculate子将检测行可见性的变化,但不会检测列,也不会检测workheet_change中的变化。 Worksheet_SelectionChange似乎有错误(即使没有代码也选择多于选中)。建议?
Public Function Copy_Hidden_ChargeCode_Descriptions(ByRef sht As String)
On Error GoTo ErrorHandler
Application.EnableEvents = False
If Worksheets(sht).Columns("C:G").Hidden = False Then
If Not IsEmpty(Worksheets(sht).Range("H4")) Then
Worksheets(sht).Range("H1").Cut Worksheets(sht).Range("C1")
Worksheets(sht).Range("H4:N9").Cut Worksheets(sht).Range("C4:H9")
End If
Else
If IsEmpty(Worksheets(sht).Range("H4")) Then
Worksheets(sht).Range("C1").Cut Worksheets(sht).Range("H1")
Worksheets(sht).Range("C4:H9").Cut Worksheets(sht).Range("H4:N9")
End If
End If
Application.EnableEvents = True
Exit Function
ErrorHandler:
Debug.Print Err.Number, Err.Description
End Function