use*_*121 30 excel vba subroutine
我定义了以下子例程:
Sub EnterCellValueMonthNumber(cells As range, number As Integer)
range(cells).Select
ActiveCell.FormulaR1C1 = number
End Sub
Run Code Online (Sandbox Code Playgroud)
当我像这样调用子程序时:
EnterCellValueMonthNumber ("N23:Q23",1)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Compile error Expected: =
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我收到这条消息.有谁知道我错过了什么?
Sim*_*wen 50
你可以把子叫做
EnterCellValueMonthNumber "N23:Q23", 1
Run Code Online (Sandbox Code Playgroud)
没有括号.要么
Call EnterCellValueMonthNumber("N23:Q23", 1)
Run Code Online (Sandbox Code Playgroud)
括号,Call
在它之前.
此外,您的Sub期望Range对象作为第一个参数,并且您正在提供字符串; 你应该将sub的签名更改为:
Sub EnterCellValueMonthNumber(cells As String, number As Integer)
Run Code Online (Sandbox Code Playgroud)
此外,我不确定你要用这个代码实现什么,因为它只会将范围的左上角单元格设置为1.类似于
Range(cells).Value = number
' Or, if you're going to be passing in something more complex later...
Range(cells).FormulaR1C1 = number
Run Code Online (Sandbox Code Playgroud)
更合适吗?
我也非常谨慎地使用Range("...")
而没有指定你指的是哪张纸.这将取决于活动表单中的任何一个,因此可能导致意外问题,几乎总是更喜欢SheetX.Range("...")
.同样地,对于使用来说.Select
,它是不必要的,并且只会在将来给您带来问题.
归档时间: |
|
查看次数: |
80588 次 |
最近记录: |