❶ VBA代码 for 循环嵌套
试试这个:
PublicFunctionmysum()
DimiAsInteger,ragAsRange,TAsInteger
WithWorksheets("sheet2")
Fori=2To[d65536].End(xlUp).Row
T=0
Forh=2To[a65536].End(xlUp).Row
If.Range("d"&CStr(i)).Value=.Range("a"&CStr(h)).ValueThen
T=T+.Range("b"&CStr(h))
EndIf
Nexth
.Range("e"&CStr(i)).Value=T
Nexti
EndWith
EndFunction
❷ 怎样用VBA代码编写IF嵌套公式
VBScript中的嵌套 if 语句的语法是:
If(boolean_expression) Then
Statement 1
.....
.....
Statement n
If(boolean_expression) Then
Statement 1
.....
.....
Statement n
ElseIf (boolean_expression) Then
Statement 1
.....
....
Statement n
Else
Statement 1
.....
....
Statement n
End If
Else
Statement 1
.....
....
Statement n
End If
示例
Private Sub nested_if_demo_Click()
Dim a As Integer
a = 23
If a > 0 Then
MsgBox "The Number is a POSITIVE Number"
If a = 1 Then
MsgBox "The Number is Neither Prime NOR Composite"
ElseIf a = 2 Then
MsgBox "The Number is the Only Even Prime Number"
ElseIf a = 3 Then
MsgBox "The Number is the Least Odd Prime Number"
Else
MsgBox "The Number is NOT 0,1,2 or 3"
End If
ElseIf a < 0 Then
MsgBox "The Number is a NEGATIVE Number"
Else
MsgBox "The Number is ZERO"
End If
End Sub
当执行上面的代码,产生了以下结果:
The Number is a POSITIVE Number
The Number is NOT 0,1,2 or 3
❸ 新人求教关于VBA中如何实现自定义函数嵌套使用
函数调用方式错误,应为
Function 函数1(A1, A2, A3)
Select Case A1
Case Is = "1"
函数1 = Application.Run("函数2", A2, A3)
Case Is = "2"
函数1 = Application.Run("函数3", A2, A3)
End Select
End Function
或者更加简单:
Function 函数1(A1, A2, A3)
Select Case A1
Case Is = "1"
函数1 = 函数2(A2, A3)
Case Is = "2"
函数1 = 函数3(A2, A3)
End Select
End Function