您可以将 sub 称为
EnterCellValueMonthNumber "N23:Q23", 1
没有括号。或者
Call EnterCellValueMonthNumber("N23:Q23", 1)
括号,Call
在它之前。
此外,您的 Sub 期望 Range 对象作为第一个参数,并且您提供了一个字符串;您应该将 sub 的签名更改为:
Sub EnterCellValueMonthNumber(cells As String, number As Integer)
另外,我不确定您要使用此代码实现什么目标,因为它只会将范围的左上角单元格设置为 1。像
Range(cells).Value = number
' Or, if you're going to be passing in something more complex later...
Range(cells).FormulaR1C1 = number
更合适?
Range("...")
如果不指定您所指的工作表,我也会非常谨慎地使用。这将作用于活动工作表,因此可能导致意外问题,几乎总是首选SheetX.Range("...")
. 同样对于 using .Select
,它是不必要的,并且只会给您将来带来问题。