0

我觉得这应该是一个足够简单的任务,但我对 Excel VBA 的经验不足,不知道如何处理它。基本上我想连续查看两个单元格,如果它们都有特定的日期,则做一些事情。这两个单元格将始终位于两个特定列之一中。

例如,如果 D2 和 I2 中的日期都早于 11 月,那么我想对该行执行某些操作并移至下一行。然后,如果 D3 和 I3 中的日期都早于 11 月,那么我想对该行做一些事情并移动到下一行。等等等等...

我的问题不在于如何完成所有步骤。这真的是关于如何进行比较。我知道如何通过执行以下操作仅选择这两列中的单元格:

Union(Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)), _
    Range(Cells(2, 9), Cells(Rows.Count, 9).End(xlUp))).Select

但后来我突然想到,我不知道如何比较两列的各个单元格。我只知道如何遍历列的每个单元格。

任何帮助将不胜感激。

4

1 回答 1

1

只是循环遍历 1 列,然后使用该Offset方法进行比较怎么样。

检查这个:

Option Explicit

Sub CheckTwoCols()

Dim wks As Worksheet, lastrow As Long, rng As Range, cel as Range

Set wks = Sheets(1) 'change sheet reference to suit your needs

With wks

    lastrow = .Range("D" & .Rows.Count).End(xlup).Row

    Set rng = .Range("D2:D" & lastrow)

    For each cel in rng

        'column I is 5 columns to the right of column D
        If cel < "11/1/2012" and cel.offset(,5)  < "11/1/2012" Then

             'process code

        End If 

   Next

End With

End Sub
于 2012-12-08T01:20:31.850 回答