【发布时间】:2017-07-21 00:40:05
【问题描述】:
我有以下代码循环遍历两个不同的工作表并将 A 列与 A 列进行比较,以检查另一张工作表上是否存在相同的值。如果是,则该行将显示为绿色。
Dim compareRange As Range
Dim toCompare As Range
Dim rFound As Range
Dim cel As Range
Set compareRange = Worksheets("sheet2").Range("A1:A" & Lastrow3)
Set toCompare = Worksheets("sheet3").Range("A1:A" & Lastrow4)
Set rFound = Nothing
For Each cel In toCompare
Set rFound = compareRange.Find(cel)
If Not rFound Is Nothing Then
cel.EntireRow.Interior.Color = 5296274
Set rFound = Nothing
End If
Next cel
现在我有了包含行的单元格,如何从同一行但在不同列中获取单元格?因为现在我想检查 sheet2 中的 L 列是否与 sheet3 中的 L 列匹配。如果不是,我想从 sheet2 中获取该值并将其放在同一列 L 下方的新行中。任何指导或帮助将不胜感激。
【问题讨论】:
-
定义抓取?你到底想完成什么?您是否已经获得了行着色?
-
查看 Range.Offset() 属性,如果您偏移某个整数,您可以在必要时将其作为循环的一部分进行递增。
-
我正在尝试获取 sheet2 上 L 列中任何值的值,该值与我发现与 A 匹配的 cel 位于同一行。L 值为 OPEN 或 CLOSED。假设 sheet2 中的 A 行和 sheet3 中的 A 行在第五个循环中匹配,并且两者的值都为 123 和 123。现在我想留在同一行并抓取 F 列 sheet2 中的任何内容并与 F 列 sheet3 进行比较。跨度>
-
将您的值存储到变量中?
var = cel("L" & cel).Value之类的东西?