簡體   English   中英

如果則聲明

[英]If Then Statement

我有一個循環的VBA代碼,現在由於無法弄清楚如何檢查某些東西而陷入僵局。 我有一個命令按鈕,然后單擊時希望它執行if then語句。

基本上,如果單元格F5說“不在列表中”,則使客戶ID值+1並重新開始;如果不是,則開始子循環1

有什么建議么? 謝謝

更新:

這是我到目前為止的內容:

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”來跳過此電子郵件地址這意味着客戶電子郵件已進入系統,並繼續發送電子郵件並回避。

這是Excel VBA中If / Then / Else根據您的指定檢查單元格值的語法。

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

End If

要訪問單元格的值(或其他屬性),請使用Range() Range()還有許多其他用途,您可以在此處查找它們。 Range()Excel VBA

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

d作為對象集的d d = CreateObject(“ Scripting.Dictionary”)

d.Add "customer A", "a@mail.com"

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM