EXCEL VBA程序暧昧名称

时间:2017-11-10 13:11:16

标签: excel vba excel-vba

我的VBA代码太大了,我正在尝试制作更小的SUBS,因此错误不会出现,但随后出现错误“Ambigoius name”。我试图重命名我的潜艇...... 防爆。

Private Sub worksheet_calculate()
Range("I9").Interior.Color=Range("AK9").Display.Format.Interior.Color
end sub
Private Sub worksheet_calculate2()
Range("J9").Interior.Color=Range("AQ9").Display.Format.Interior.Color
end sub

...当我重命名其他潜艇时,如示例所示,它没有做任何事情,只有原来正常工作。如何重命名它们才能正常工作?

2 个答案:

答案 0 :(得分:1)

根据我的理解,worksheet_calculate是子例程的预定义名称,由重新计算工作表时的事件触发。

您可以从中定义和调用其他私有潜艇。 像

Private Sub worksheet_calculate()
   rem sub body
   CalculateSub1 pars        'variant one
   Call CalculateSub1(pars)  'variant two
   rem sub body
End Sub

Sub CalculateSub1(pars)
   Rem Sub body
End Sub 

答案 1 :(得分:0)

只需在主要子部分的末尾插入以下代码行,即“worksheet_calculate”

Call worksheet_calculate2
Call worksheet_calculate3
Call worksheet_calculate4
Call worksheet_calculate4
.
.
.
Call worksheet_calculaten