下列程序返回两个数据类型Double()和Empty
Function ReturnArrayParameter---可以返回Double()也可以返回Empty
If TypeName(gg) Is Not Empty Then 不成立
If UBound(gg) <> -1 Then 不成立
请问各位大侠如何解决???
''''''''''''
Sub ll()
Dim gg As Variant
ColorNN = 1
Sheet2.Range("a:z").ClearContents
For nn = 2 To 8
Dim Temp(2) As Double
Dim Colors, i As Byte
With Sheet1
For jj = 0 To 2
Temp(jj) = .Cells(nn, jj + 6)
Next jj
End With
gg = ReturnArrayParameter(Temp, nn, 2, 8, 3, 5)
Debug.Print TypeName(gg)
'If gg(0) = False Then
' If UBound(gg) <> -1 Then
If TypeName(gg) Is Not Empty Then
For jj = 0 To UBound(gg)
Sheet2.Cells(nn, jj + 1) = gg(jj) - 1
Next jj
End If
Next nn
End SubPrivate Function ReturnArrayParameter(TempArray, nn, ss1, ss2, cc1, cc2) As Variant
Dim ReturnArray(5) As Double
For ii = ss1 To ss2
If ii <> nn Then
For jj = cc1 To cc2
With Sheet1
If .Cells(ii, jj) <> TempArray(jj - cc1) Then
Exit For
End If
End With
'If jj = cc2 Then
'tt = True
For kk = cc1 To cc2
With Sheet1
ReturnArray(kk - 3) = .Cells(ii, kk)
ReturnArray(kk) = .Cells(ii, kk + 3)
End With
Next kk
ReturnArrayParameter = ReturnArray
Exit Function
Next jj 'ReturnArrayParameter = ReturnArray
End If
Next ii
End Function
Function ReturnArrayParameter---可以返回Double()也可以返回Empty
If TypeName(gg) Is Not Empty Then 不成立
If UBound(gg) <> -1 Then 不成立
请问各位大侠如何解决???
''''''''''''
Sub ll()
Dim gg As Variant
ColorNN = 1
Sheet2.Range("a:z").ClearContents
For nn = 2 To 8
Dim Temp(2) As Double
Dim Colors, i As Byte
With Sheet1
For jj = 0 To 2
Temp(jj) = .Cells(nn, jj + 6)
Next jj
End With
gg = ReturnArrayParameter(Temp, nn, 2, 8, 3, 5)
Debug.Print TypeName(gg)
'If gg(0) = False Then
' If UBound(gg) <> -1 Then
If TypeName(gg) Is Not Empty Then
For jj = 0 To UBound(gg)
Sheet2.Cells(nn, jj + 1) = gg(jj) - 1
Next jj
End If
Next nn
End SubPrivate Function ReturnArrayParameter(TempArray, nn, ss1, ss2, cc1, cc2) As Variant
Dim ReturnArray(5) As Double
For ii = ss1 To ss2
If ii <> nn Then
For jj = cc1 To cc2
With Sheet1
If .Cells(ii, jj) <> TempArray(jj - cc1) Then
Exit For
End If
End With
'If jj = cc2 Then
'tt = True
For kk = cc1 To cc2
With Sheet1
ReturnArray(kk - 3) = .Cells(ii, kk)
ReturnArray(kk) = .Cells(ii, kk + 3)
End With
Next kk
ReturnArrayParameter = ReturnArray
Exit Function
Next jj 'ReturnArrayParameter = ReturnArray
End If
Next ii
End Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货