这是我的第一篇文章,请耐心等待。
当我尝试从用户表单调用模块并传递参数时,我得到运行时错误1004。我确定答案非常明显,但我不擅长传递论据。
点击提交按钮时从用户表单:
Sub SubmitButton_Click()
Dim addRowValue As Integer
addRowValue = LineBox.Value
MsgBox "Add " & addRowValue & " rows."
Call Sheet1.ResizeTable(addRowValue)
End Sub
来自Sheet1:
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
工作正常,但是当我添加参数时,我收到错误。此外,当我将变量ResizeTable()
更改为设定数字并运行时,模块addRowValue
正常工作。
感谢您的帮助!
答案 0 :(得分:0)
问题是你要将字符串赋给整数类型的变量。
更改
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