2016-08-11 44 views
0

嘿,我期待看到如何去移动1行,我目前在我的电子表格中。Vb.net Excel移动到下一行

我曾尝试:

Dim xlsApp As Excel.Application 
Dim xlsWB As Excel.Workbook 
Dim xlsSheet As Excel.Worksheet 
Dim xlsCell As Excel.Range 

xlsCell = xlsSheet.Range("A1", "A100") 

For Each oRowRange As Excel.Range In xlsCell.Rows 
    For Each oCellRange As Excel.Range In oRowRange.Columns 

     If colorRGB = "252, 213, 180" Then 
     Debug.WriteLine(oCellRange.Text) 
     oCellRange.Offset(0, 1).Select() 
     Debug.WriteLine(oCellRange.Text) 
     etc... 
     End If 
    Next 
Next 

在上面的例子中,它不断把相同的文字:

BOB

BOB

当它真的应该是:

BOB

JON

因此,任何帮助将是巨大的!

回答

2

我认为你的问题是你使用相同的线两次Debug.WriteLine(oCellRange.Text)。在第一个之后,oCellRange不会更改。你正在使用.Select,那种。你做.Select,但从来没有使用Selection ...这是一个good thing。然而,仅仅是调整第二行,并删除.Select行:

 Debug.WriteLine(oCellRange.Text) 
    Debug.WriteLine(oCellRange.Offset(0, 1).Text) 

编辑:另外,您可以用Set oCellRange = oCellRange.Offset(0,1)更换.Select线留下第三行是。但是,我不建议这样做,并会亲自保留.Offset()方法。

+0

明白了。谢谢布鲁斯! – StealthRT

+0

@StealthRT - 当然,您也可以在第一行之后重置“oCell”,并执行我在编辑中显示的内容。 – BruceWayne