【发布时间】:2020-11-18 15:35:27
【问题描述】:
感谢您的帮助。
我正在尝试将一些行复制到新工作表中,稍后将添加一些条件,但我想把基础知识搞好。
我想将 wsCurrent 工作表上的第 4 行复制到 wsReview 工作表上的第 1 行,然后将第 5-200 行也复制到该工作表上。最终,我将根据条件跳过 for 循环,因此只会复制某些行。
复制第 4 行的第一部分工作正常,但是 for 循环会抛出错误,并且没有按照我的预期执行,例如,它将“j”作为列引用,而不是值,如果我尝试使用更复杂的列引用,然后它不会编译。
Sub exportForReview()
Dim wbCurrent As Workbook
Set wbCurrent = ThisWorkbook
Dim wsReview As Worksheet
Set wsReview = wbCurrent.Worksheets("ExportForReview")
Dim wsCurrent As Worksheet
Set wsCurrent = wbCurrent.Worksheets("Master")
Dim j As Integer
j = 2
wsCurrent.Range("4:4").Copy
wsReview.Range("1:1").PasteSpecial Paste:=xlPasteFormats
wsReview.Range("1:1").PasteSpecial Paste:=xlPasteValues
For i = 5 To 200
wsCurrent.Cells(i).EntireRow.Copy
wsReview.Cells(j).EntireRow.PasteSpecial Paste:=xlPasteFormats
wsReview.Cells(j).EntireRow.PasteSpecial Paste:=xlPasteValues
j = j + 1
Next i
End Sub
我也试过
For i = 5 To 200
wsCurrent.Range("i:i").Copy
wsReview.Range("j:j").EntireRow.PasteSpecial Paste:=xlPasteFormats
wsReview.Range("j:j").PasteSpecial Paste:=xlPasteValues
j = j + 1
Next i
尝试在代码中使用变量来选择和复制行似乎有问题,有人可以建议吗?
【问题讨论】:
-
wsReview.Cells(j,1).EntireRow.PasteSpecial怎么样?你真的需要复制整行吗?为什么不一口气完成呢? -
我明白你的意思,我需要复制表格的整行,而不是工作表的整行,所以是的,我将使用下面建议的范围来解决该反馈观点。此外,我将通过检查特定行中是否存在某些数据进行迭代,如果没有,则跳过而不复制它。正如我所提到的,这只是基本的一点,我将添加一些条件以便跳过,希望这很清楚,非常感谢你回复我并给我建议。