假设我有一个包含两个工作表的工作簿:
Sheet1和Sheet2。
有一个Worksheet_change子项Sheet1:
Private Sub Worksheet_Change(ByVal Target As Range)
...
End Sub
Run Code Online (Sandbox Code Playgroud)
有一个Worksheet_Calculate在Sheet2:
Private Sub Worksheet_Calculate()
'Call Sheets("Sheet1").Worksheet_Change(Range("A1")) 'doesn't work
End Sub
Run Code Online (Sandbox Code Playgroud)
我如何从in调用Sheet1'aWorksheet_Change子程序?Worksheet_CalcalculateSheet2
您可以Application.Run像这样使用 \xe2\x80\xa6
Application.Run "Sheet1.Worksheet_Change", Range("A1")\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,Sheet1此处是工作表的 VBA 名称,而不是选项卡上的名称。可以在工作表的属性窗口(在 VB 编辑器中)更改 VBA 名称。
或者将代码移动Worksheet_Change到模块中,例如:
Public Sub MySpecificWorksheet_Change(ByVal Target As Range)\n ...\nEnd Sub\nRun Code Online (Sandbox Code Playgroud)\n\nWorksheet_Change并从和 中调用它Worksheet_Calculate
Private Sub Worksheet_Change(ByVal Target As Range)\n MySpecificWorksheet_Change(ByVal Target As Range)\nEnd Sub\n\nPrivate Sub Worksheet_Calculate()\n MySpecificWorksheet_Change(ByVal Target As Range)\nEnd Sub\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5359 次 |
| 最近记录: |