0
我想调用我在另一个子元素中写入的子元素,并向它添加一些新的东西,但使用我在即使在子内调用第一个宏,第一个子程序也不会在第二个子程序中显示。VBA变量定义了一个子元素,并在另一个子元素中调用了多个子元素
例如,我已经将子变量定义为Public,但是我在第一个子集中定义的值,然后在第二个子集中调用的值会丢失。在下面的代码中,运行宏“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中工作的指导都很好。有没有更好的方法来实现我想要做的事情?
代码工作对我来说是。我建议将您想要工作的工作表限定为一个变量'Dim ws as Worksheet |设置ws = Sheets(“Sheet1”)'并使用该ws.Cells(row1,col1).Resize(6,5).Select',但因为这可能只是测试代码的问题,它可能不是那么大一个交易。 –
为什么潜艇必须拆分?如果你在另一个子程序中做了一些复杂的事情,你可以通过调用传递变量,然后返回结果。 – Chrismas007
谢谢,斯科特霍尔茨曼,但我不明白 - 不是“ActiveSheet”。照顾呢?另外,你会把“昏暗的ws”声明放在第一个子集,还是两者? – Eric