Vb.net Excel 移至下一行
Vb.net Excel move to next row
嘿,我想看看如何将 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
所以任何帮助都会很棒!
我认为您的问题是您两次使用同一行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()
方法。
嘿,我想看看如何将 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
所以任何帮助都会很棒!
我认为您的问题是您两次使用同一行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()
方法。