簡體   English   中英

Excel VBA:通過兩列循環IF語句

[英]Excel VBA: Loop IF statement through two columns

我有一個包含各種信息的客戶清單。 C列顯示開始日期,Q列顯示狀態。

我需要通過C列循環IF語句,以檢查當日date()以及客戶端的相應狀態是否為100%。 然后,如果為true,則將C列中的日期添加1年。

Private Sub Workbook_Open()
    Dim ID As Date
    Dim Status As Long

    ID = Sheets("Kunder").Range("C" & Rows.Count).End(xlUp).Row


    If ID>= Date And Status = 1 Then
    ID.Value = ID.Value + 365
    End If


    End Sub

非常感謝你 :-)

Excel中的日期只是數字。 所以,

Dim ID as Double

遍歷C列中的所有單元格

Dim cl As Range

With Sheets("Kunder")
    For Each cl In Intersect(.Range("C:C"), .UsedRange)
        If cl.Value = ID And cl.Offset(, 14).Value = 1 Then
             cl.Value = cl.Value + 365
        End If
    Next cl
End With

但是,請記住大約leap年,它們有366天。 cl.Offset(,14)是Q列,請在插入/刪除列時記住它。

這是一個有條件的基本循環,循環通過兩列-列A和列B 嘗試在一個空的Excel文件上逐步進行操作,您將可以輕松地對其進行調整:

Public Sub BasicLoop()

    Dim i As Long

    For i = 1 To 100
        ActiveSheet.Cells(i, 1) = i * 2
        If i * 2 / 4 Mod 2 = 0 Then
            ActiveSheet.Cells(i, 2) = i * 4
        End If
    Next i

End Sub

暫無
暫無

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

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