我想调用我在另一个sub中编写的sub,并添加一些新东西,但是使用我在第一个sub中定义的变量在第二个sub中没有显示,甚至虽然在sub中调用了第一个宏。
例如,我已经将变量定义为sub之外的Public,但是我在第一个sub中定义的值,然后在第二个sub中调用的值会丢失。在下面的代码中,运行宏“test”工作,但“test1”给我一个“运行时错误'1004'”。
Public row1 As Integer
Public col1 As Integer
Sub test()
row1 = 2
col1 = 2
ActiveSheet.Cells(row1, col1).Select
End Sub
Sub test1()
Call test
ActiveSheet.Cells(row1, col1).Resize(6, 5).Select
End Sub
有关如何让row1和col1在test1 sub中工作的任何指导都会很棒。有没有更好的方法来实现我想要做的事情?
答案 0 :(得分:0)
另一种选择是从sub传递变量以使用这样的公共函数:
Sub MainSubHere()
'Some random code
Dim AddMe1 As Long, AddMe2 As Long, MySum As Long
AddMe1 = 2
AddMe2 = 2
MySum = AddMeSub(AddMe1, AddMe2)
Msgbox MySum
End Sub
Public Function AddMeSub(AddMe1 As Long, AddMe2 As Long) As Long
AddMeSub = AddMe1 + AddMe2
End Sub
答案 1 :(得分:0)
您可以尝试,但是这里还有其他需要改进的地方,例如使用<< 0:2
而不是仅转到action语句。我把那个子排除在外,因为它没有用。
Select