關于這個關于 trigger event when Row or Column is hidden 鏈接
的問題 提供的答案適用于整個作業簿,但我需要對其進行調整以僅在特定作業表(同一作業簿)上運行。我嘗試了以下修改,但它也在整個作業簿上運行。
Sub Row_Hide_Macro(control As IRibbonControl, ByRef CancelDefault)
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.name = "Sheet1" Or ws.name = "Sheet2" Then
CancelDefault = True
Else
CancelDefault = False
End If
Next
End Sub
我也試過這段代碼
Sub Row_Hide_Macro(control As IRibbonControl, ByRef CancelDefault)
If Not Intersect(ThisWorkbook.Worksheets("Sheet1"), ThisWorkbook.Worksheets("Sheet2")) Is Nothing Then
CancelDefault = True
Else
CancelDefault = False
End If
End Sub
引發錯誤,相交線上的型別不匹配一如既往,提前非常感謝您的幫助。
uj5u.com熱心網友回復:
在我看來,您沒有在此代碼中檢查特定的作業表名稱。
在For回圈中,您將遍歷所有作業表并更新CancelDefault. 我懷疑您只想CancelDefault根據隱藏行或列的作業表名稱進行更新。
試試這個(未經測驗):
Sub Row_Hide_Macro(control As IRibbonControl, ByRef CancelDefault)
If ActiveWorkbook.ActiveSheet.Name = "Sheet1" Or ActiveWorkbook.ActiveSheet.Name = "Sheet2" Then
CancelDefault = True
Else
CancelDefault = False
End If
End Sub
在這里,您只檢查對其進行了更改的CancelDefault作業表的名稱,并根據該單個作業表的名稱更新 的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410922.html
標籤:
下一篇:轉置將添加到存檔表的資料
