有没有办法让这段代码的粘贴部分在每次粘贴数据时一次循环一行?

我的这一段代码的目的是将D列的内容粘贴到另一张表中,如果在初始表格中同一行的列N中的内容是=“仅缩小”。 我正在努力find一种方法来粘贴到第二张表中的所有条目之间没有空行。

目前我正在sorting最初的表单,因此所有的REDUCE ONLY条目都是在列N的顶部,所以它们在输出表中被正确sorting,但是如果我得到一组不同的值在第N列有什么期望?是否有另外一种方式来expression:“cfdSht.Cells(c.Row – 1,1).PasteSpecial Paste:= xlPasteValues”

到目前为止,我得到了:

Dim c As Range Dim rCheck As Range Dim LRMAIN As Long Dim cfdSht As Worksheet Dim mainSht As Worksheet Set mainSht = ThisWorkbook.Worksheets("Sheet1") Set cfdSht = ThisWorkbook.Worksheets("ProductSettingNgCfd") ''Set Last Row LRMAIN = mainSht.Range("A2").CurrentRegion.Rows.Count ''Set Range Set rCheck = mainSht.Range("B2:N" & LRMAIN) ''Copy any value in column D where the value on the same row in column N is "REDUCE ONLY". Paste into second Sheet with starting point adjusted up 1 row. For Each c In rCheck If c.Value = "REDUCE ONLY" Then mainSht.Cells(c.Row, 4).Copy cfdSht.Cells(c.Row - 1, 1).PasteSpecial Paste:=xlPasteValues End If Next 

谢谢

replace这个:

 mainSht.Cells(c.Row, 4).Copy cfdSht.Cells(c.Row - 1, 1) 

有了这个

 cfdSht.Cells(cfdSht.RowsCount, 1).End(xlUp).Offset(1).value = mainSht.Cells(c.Row, 4).Value 

第一部分将从纸张的底部开始,然后上到第一个被占用的单元格,然后向下移动到第一个未被占用的单元格。

我使用直接分配的方法,因为它比复制和粘贴的过程更less征税。 正如你只是在寻找值,这只会把一个单元格的值放到另一个单元格中。