2015-10-01 34 views
0

我有类似于下面的代码的一些事情:“对于”与排回路比较两列

set SelectionRNG = Range("A1:B10") 

for each xrow in SelectionRNG.rows 
if xrow.value(1,1) = xrow.value(1,2) do something 

我需要做的就是将存储在xrow两个值。

xrow.value(1,1) = xrow.value(1,2) 

不起作用。

如何参考每个值?

+0

查看如何使用'Range.Offset'属性并遍历选中的一列而不是每个单元格 –

+0

Range.offset将不会在我使用它的场景中工作。我已经试过了。 – Lickrob

+0

没有。它不会;)'foreach(单元格范围(“A1:A10”))如果(cell = cell.offset(0,1))'...... –

回答

3

你这样的事情后:

Dim rngSelection As Range 
Dim rngRow   As Range 

Set rngSelection = Range("A1:B10") 

For Each rngRow In rngSelection.Rows 
    If rngRow.Cells(1, 1) = rngRow.Cells(1, 2) Then 
     rngRow.Cells(1, 3) = "same" 
    Else 
     rngRow.Cells(1, 3) = "different" 
    End If 
Next 

使用“单元格格式”,您可以指定1作为第一列(一列),然后指定你要比较的列数(1 & 2在这个例子中)然后输出到第三列。

如果您打算喜欢,您会检查选择的尺寸/位置,以确保您有比较和目的地的基础。

+0

这看起来应该可以工作。谢谢 – Lickrob