嘿所有我想看看如何在我的电子表格中移动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
所以任何帮助都会很棒!
答案 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()
方法。