我正在尝试清理一些包含网络资产信息的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
答案 0 :(得分: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