2013-06-18 113 views
1

我有一個循環VBA代碼,現在我已經來到deadstill,因爲我無法弄清楚如何檢查一些東西。我有一個命令按鈕,然後單擊時,我希望它執行if then語句。If Then Statement

基本上如果電池F5說:「不在列表中」然後,讓客戶ID值+1,並開始了,如果沒有,那麼啓動子環1

有什麼建議? 感謝

UPDATE:

這是我到目前爲止有:

Private Sub CommandButton1_Click() 
    Call Loop1 
End Sub 

Sub Loop1() 
    Dim i As Integer 
    i = ActiveSheet.Range("F2").Value 
    Do 
     Call OutlookMailSender 
     ActiveSheet.Range("F2").Value = ActiveSheet.Range("F2").Value + 1 
    Loop Until (IsEmpty(ActiveCell.Offset(4, 0))) 
End Sub 

所以文件調用Outlook來發送消息。但我需要在它發送信息之前檢查它是否爲「0」,這意味着電子郵件地址不在我們的系統中,並通過轉到下一個客戶(向客戶號碼添加+1)或檢查「1」這意味着客戶的電子郵件在系統中,並繼續發送電子郵件並向後循環。

+1

請發表你有什麼代碼。它總是有助於回答你的問題。 – ashareef

回答

2

這是Excel VBA中的If/Then/Else語法,用於根據您的規範檢查單元格的值。

If (Range("F5").Value = "Not in List") Then 
    'code to execute 
Else 

End If 

要訪問單元格的值(或其他屬性),請使用Range()Range()有很多其他用途,你可以在這裏查看它們。 Range() Excel VBA

+0

更新後;我的信息有意義嗎? – user2497033

0

最好創建一個字典來存儲CustomerID和電子郵件。按客戶ID搜索,然後嘗試將電子郵件發送到該地址。你會好得多。

昏暗d爲對象 設置d =的CreateObject( 「的Scripting.Dictionary」)

d.Add "customer A", "[email protected]" 

searchEmail As String 

Dim customer As Variant 
For Each customer In d.Keys 
    If d.Item(customer) = searchEmail Then 
     customerID = CStr(customer) 

     sendMailTo (customerID) 
     exit for 
    End If 
Next