0

我正在尝试清理一些包含网络资产信息的 CSV 报告文件。

A 列包含各种值的 PluginID。我想根据 B 列中匹配的主机 IP 复制偏移量 (0, x) 并粘贴到同一列中进一步向上的单元格中。这是我到目前为止所拥有的。

Sub finalDataMove()

Dim LR As Long

LR = Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To LR
    If Range("A" & i).Value = "11936" Then
        Range("A" & i).Offset(0, 3).Copy
        **"Help me please!"**.PasteSpecial xlPasteAll
    End If

    If Range("A" & i).Value = "12053" Then
        Range("A" & i).Offset(0, 4).Copy
        **"Help me please!"**.PasteSpecial xlPasteAll
    End If

Next i

Application.CutCopyMode = False


End Sub
4

1 回答 1

1

您的代码可以以更好的方式编写,但我只是试图更正您的代码。我希望它会帮助你。

Sub finalDataMove()

Dim LR          As Long
Dim varCol      As Variant

LR = Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To LR
    If Range("A" & i).Value = "11936" Then
        varCol = Application.Match(Range("B" & i).Value, [B:B], 0)            
        Range("A" & i).Offset(0, 3).Copy
        Range("A" & varCol).Offset(0, 3).PasteSpecial xlPasteAll
    End If

    If Range("A" & i).Value = "12053" Then
        varCol = Application.Match(Range("B" & i).Value, [B:B], 0)           
        Range("A" & i).Offset(0, 4).Copy
       Range("A" & varCol).Offset(0, 4).PasteSpecial xlPasteAll
    End If

Next i

Application.CutCopyMode = False


End Sub
于 2013-06-12T17:07:10.830 回答