VBA 调用带有参数的模块时出现错误 1004

VBA Error 1004 When Calling A Module with an Argument

这是我的第一个post所以请多多包涵。

当我尝试从我的用户表单调用模块并传递参数时,出现 运行 时错误 1004。我敢肯定答案很明显,但我是传递论点的新手。

点击提交按钮时来自用户表单:

Sub SubmitButton_Click()

Dim addRowValue As Integer

addRowValue = LineBox.Value

MsgBox "Add " & addRowValue & " rows."
Call Sheet1.ResizeTable(addRowValue)

End Sub

来自工作表 1:

Sub ResizeTable(addRowValue As Integer)

Dim rng As Range
Dim tbl As ListObject

Set tbl = ActiveSheet.ListObjects("DATA_INPUT")

Set rng = Range("DATA_INPUT[#All]").Resize(tbl.Range.Rows.Count +  _
 addRowValue, tbl.Range.Columns.Count)

tbl.Resize rng

End Sub

Call Sheet1.ResizeTable 工作正常但是当我添加参数时出现错误。此外,当我将变量 addRowValue 更改为设定的数字并 运行 时,模块 ResizeTable() 工作正常。

感谢您的帮助!

问题是您正在将字符串分配给整数类型的变量。

改变

addRowValue = LineBox.Value

addRowValue = CInt(LineBox.Value)

编辑:您可能还想确保用户输入一个数值,所以有类似的东西:

If IsNumeric(LineBox.Value) Then
    addRowValue = CInt(LineBox.Value)
Else
    MsgBox "Please enter numeric value", vbCritical
    LineBox.Value = ""
End If