簡體   English   中英

具有日期值> = Date的Excel VBA聯合行

[英]Excel VBA Union Rows with date value >= Date

我正在嘗試編寫一個宏,如果行中的日期單元格(列H)大於或等於當前日期,則填充包含范圍內行的電子郵件。

以下代碼使用看似隨機的行填充電子郵件。

Dim rng As Range
Dim row As Range
Dim rng2 As Range

Set rng = Range("B52:I79")

For Each row In rng.Rows
    If row.Columns("H") >= Date Then
        If Not rng2 Is Nothing Then
            Set rng2 = Union(rng2, row)
        Else
            Set rng2 = row
        End If
    End If
Next

任何幫助都會很棒!

由於您的范圍從B列開始,如果您的日期在H列中,那么您需要將其稱為G列,如下所示:

Dim rng As Range
Dim row As Range
Dim rng2 As Range

Set rng = Range("B52:I79")

For Each row In rng.Rows
    If row.Columns("G") >= Date Then
        If Not rng2 Is Nothing Then
            Set rng2 = Union(rng2, row)
        Else
            Set rng2 = row
        End If
    End If
Next

不使用范圍內的字母引用列,而是使用數字。 這樣他們相對來說就更明顯了。

范圍從b到i,列h實際上將返回i ...雖然稱之為第7列,但您得到的混淆結果更少。

此外,要調試此操作,請逐步執行代碼並將匹配結果發送到除union命令之外的變量。

這樣,您可以在每次匹配時在本地窗口中看到,並且您可以確保要匹配的信息是正在匹配的信息。

暫無
暫無

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

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