Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel VBA中将值从子函数传递到函数_Vba_Excel - Fatal编程技术网

在Excel VBA中将值从子函数传递到函数

在Excel VBA中将值从子函数传递到函数,vba,excel,Vba,Excel,我一直收到一个ByRef错误,但我似乎无法解决它。 代码都写在同一个模块中 Sub GetTime(Labelname As Object) Dim Hint, Mint, Sint As Integer Dim time As String Hint = CInt(Hour(Now)) Mint = CInt(Minute(Now)) Sint = CInt(Second(Now)) time = CorrectTime(Hint, Mint, Sint) Private Functio

我一直收到一个ByRef错误,但我似乎无法解决它。 代码都写在同一个模块中

Sub GetTime(Labelname As Object)
Dim Hint, Mint, Sint As Integer
Dim time As String

Hint = CInt(Hour(Now))
Mint = CInt(Minute(Now))
Sint = CInt(Second(Now))

time = CorrectTime(Hint, Mint, Sint)

Private Function CorrectTime(Hours As Integer, Minutes As Integer, Seconds As Integer) As String
Dim HS, MS, SS As String

If Len(CStr(Hours)) = 1 Then
    HS = "0" & CStr(Hours)
Else
    HS = CStr(Hours)
End If

If Len(CStr(Minutes)) = 1 Then
    MS = "0" & CStr(Minutes)
Else
    MS = CStr(Minutes)
End If

If Len(CStr(Seconds)) = 1 Then
    SS = "0" & CStr(Seconds)
Else
    SS = CStr(Seconds)
End If

CorrectTime = HS & ":" & MS & ":" & SS
End Function
每当我试图运行代码时,它都会给我一个错误

time = CorrectTime(Hint, Mint, Sint)
错误类型将为ByRef不匹配


我没有看到什么可以解决这个问题?

常见问题:
Dim Hint,Mint,Sint As Integer

这里只有
Sint
是一个整数,其他两个变量没有用类型声明,因此默认为
Variant
;当传递给需要整数的函数时,将抛出不匹配错误

要更正:


Dim Hint As Integer,Mint As Integer,Sint As Integer
常见问题:
Dim Hint,Mint,Sint As Integer

这里只有
Sint
是一个整数,其他两个变量没有用类型声明,因此默认为
Variant
;当传递给需要整数的函数时,将抛出不匹配错误

要更正:


Dim-Hint为整数,Mint为整数,Sint为整数

等等,我在所有vba代码中都是这样声明变量的。。该死的,我不知道一定是这样。谢谢!等等,我在所有vba代码中都是这样声明变量的。。该死的,我不知道一定是这样。谢谢!顺便说一句,你应该使用
Long
而不是
Integer
顺便说一句,你应该使用
Long
而不是
Integer