所以我想在范围内找到一个特定的字符串,获取它的地址并将其值复制到一个新的单元格中,这取决于旧的地址
这是我到目前为止尝试过的:
Dim c As Range
For Each c In Range("F1:F1500")
If InStr(1, c.Text, "Overall Result") Then
Range(c).Select
Selection.Cut
Range(newAddress).Select
ActiveSheet.Paste
End If
Next c
但是我不确定如何获取正确的单元地址。新单元格应该是旧的address.row和旧的address.column + 1
答案 0 :(得分:3)
您可以使用c.Offset(ColumnOffset:=1)
将一列从范围c
向右移。
Dim c As Range
For Each c In Range("F1:F1500")
If InStr(1, c.Text, "Overall Result") Then
c.Cut Destination:=c.Offset(ColumnOffset:=1)
End If
Next c
还可以看看How to avoid using Select in Excel VBA,这是一个不好的做法,会使您的速度变慢并且不太可靠。
答案 1 :(得分:1)
Dim c As Range
For Each c In Range("F1:F1500")
If InStr(1, c.Text, "Overall Result") Then
Range(c.address).offset(0,1).value = c.text
End If
Next c