![](/img/trans.png)
[英]how do I swap a cell in a column to another cell in another column for every nth row
[英]How do I compare dates in one column to a cell in the same row in another column?
我觉得这应该是一个简单的任务,但是我对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
但是后来我想到,我不知道如何比较两列的各个单元格。 我只知道如何遍历一列的每个单元格。
任何帮助将不胜感激。
仅循环遍历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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.