gpt4 book ai didi

excel - 我想在打开 excel 文件时自动运行我的宏

转载 作者:行者123 更新时间:2023-12-04 20:51:43 27 4
gpt4 key购买 nike

我想在打开 excel 表时自动运行这个私有(private)子。

我尝试使用 Private Sub Workbook_Open() 方法,但由于第一个私有(private)子没有名称,它不起作用。

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 宏。目前,一旦您在打开文件后在单元格上实际键入,这两个宏就会运行。

最佳答案

最简单的方法是使用打开 excel 文件时执行的默认模块“ThisWorkbook”。您可以在窗口左侧的 VBA 项目资源管理器中找到它。
只需将您要执行的子程序复制到空间中即可。

它在这里详细解释:
https://support.office.com/en-us/article/automatically-run-a-macro-when-opening-a-workbook-1e55959b-e077-4c88-a696-c3017600db44

如果您的用例有必要,这可以帮助您调用私有(private)子:

Private Sub PrivateCallDemo()
'Module2
Application.Run "Module1.Worksheet_Change"
End Sub

这样你的实际 Sub 可以留在另一个模块中。

关于excel - 我想在打开 excel 文件时自动运行我的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57921301/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com