❶ 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