Vb.net Excel移至下一行

时间:2016-08-11 17:04:11

标签: vb.net excel excel-vba office-interop excel-interop vba

嘿所有我想看看如何在我的电子表格中移动1行。

我试过了:

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

所以任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

我认为您的问题是您使用同一行两次Debug.WriteLine(oCellRange.Text)。在第一个之后,oCellRange没有改变。您正在使用.Select。您执行.Select,但从不使用Selection ...这是good thing。但是,只需调整第二行并删除.Select行:

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

修改:或者,您可以将.Select行替换为Set oCellRange = oCellRange.Offset(0,1),并保留第三行。但是,我不建议这样做,并会亲自保留.Offset()方法。