在范围内找到特定的字符串并将其复制到VBA中的另一个字段

时间:2018-07-24 12:26:22

标签: excel vba excel-vba

所以我想在范围内找到一个特定的字符串,获取它的地址并将其值复制到一个新的单元格中,这取决于旧的地址

这是我到目前为止尝试过的:

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

2 个答案:

答案 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