问题描述
a: 1: {s: 7: "picture"; s: 13: "Free Shipping";}
我已经添加了按钮中的所有代码来提供帮助。我不确定这是否会有所帮助,反正就是这样。如果用户选择半年,那么会发生一些事情。其余的“如果”也是如此,但我需要先解决这个问题,然后再处理其余的问题。代码太长,简单不复杂。
解决方法
现在发布了更多代码,我想我明白问题所在了。
无论您在何处引用 Cells()
,VBA 都假定它适用于 ActiveSheet
。而且我认为你应该完全限定调用是 Sheet2.Cells()
例如或任何你需要的。
当您调用按钮背后的代码时,该按钮驻留在工作表上并引用该工作表上的单元格。但是,当您将代码移至模块时,它不再引用带有按钮的工作表,而是引用当时处于活动状态的其他工作表。
因此,每当您看到前面没有工作表规范的 Cells()
或 Range()
时,请对其进行更改,以便将其定位到特定的工作表。
附注。避免使用 Integer
而更喜欢 Long
。此外,更喜欢相对引用,例如 Sheet2.Range("G2").Cells(i,j)
而不是绝对引用 Sheet2.Cells(1+i,6+j)
或字符串数学,例如 Sheet2.Range("G" & 1+i & ":G" & 5+i)
。