2016-08-11 60 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