2015-10-01 37 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