【发布时间】:2018-02-05 15:10:54
【问题描述】:
当满足 If 条件时,我正在尝试构建一个宏以从行中复制粘贴特定列。 If 条件的一部分已经过测试并且可以正常工作,就像我在另一个宏中使用过的一样。我的问题是我不知道如何在循环中选择行的特定列。我只知道如何选择整行(在这种情况下,如果我没记错的话,它会是 rows(i).EntireRow.Copy)。我在下面提供我的代码。需要编辑的部分是
.Rows(i).Columns(1, 4, 6, 8).Copy
Sheets("WFRandVFR_REPORT").range("W2").Paste
整个代码就是这个
(更新版本)
我也提供截图
Dim lr As Long
Dim rng As range
Dim mDiff1 As Double
mDiff1 = 0.01
With Worksheets("WFRandVFR_REPORT")
lr = range("L" & Rows.Count).End(xlUp).Row
For i = 2 To lr
If Cells(i, "U").Value - Cells(i, "V").Value > mDiff1 Then
If rng Is Nothing Then
Set rng = .range("L" & i & ":V" & i)
Else
Set rng = Union(rng, .range("L" & i & ":V" & i))
End If
End If
Next i
rng.Copy
Sheets("WFRandVFR_REPORT").range("AI2").PasteSpecial
End With
【问题讨论】:
-
试试这个:
.Range("A" & i & ", D" & i & ", F" & i & ", H" & i & "").Copy -
好吧,粘贴方法不起作用..我需要在第 2 行及以下的列 W 到 AF 上执行粘贴
-
你需要使用
.Range("W" & i).PasteSpecial(xlValues) -
谢谢哥们!帮了我很多!
标签: excel loops copy-paste vba