【发布时间】:2020-01-15 04:37:23
【问题描述】:
我想在打开 Excel 表格时自动运行这个私有子。
我尝试使用 Private Sub Workbook_Open() 方法,但由于第一个私有子没有名称,所以它不起作用。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet: Set ws = Sheets("Budget- Reporting")
If Range("W6").Value = 0 Then
HideFG
Else
HideF
End If
End Sub
Sub HideF()
'
' HideF Macro
'
'
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Visible = msoTrue
Next i
ActiveSheet.Shapes.Range(Array("F")).Visible = msoFalse
Application.CommandBars("Selection").Visible = False
End Sub
Sub HideFG()
'
' HideFG Macro
'
'
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Visible = msoTrue
Next i
ActiveSheet.Shapes.Range(Array("FG")).Visible = msoFalse
Application.CommandBars("Selection").Visible = False
End Sub
我希望它在打开 excel 文件时自动检查单元格 W16 并继续使用 HideF 宏或 HideFG 宏。目前,这两个宏会在您打开文件后在单元格上实际键入时运行。
【问题讨论】:
-
这不是私人子,这是工作表更改
Event每次在该特定工作表上发生更改时都会触发它。