循环遍历单元格,并根据条件复制粘贴值

我想遍历一系列单元格并提取特定的信息。 我试图复制粘贴单元格(一个范围)的单元格(0,-2)在工作表(“Tracker”)中的单元格中的列D(“1”)的下一个空单元格中粘贴cell.offset单元格与variablesr.Value(一个variables,每次变化的input值,所以它必须保持为一个variables)相同。 所以,因为我有单元格(范围),所以你可以理解它是一个循环,用于表格G列(“Tracker”)中的所有单元格。 它工作到目前为止,但唯一的办法是获得第一个单元格偏移量并将其粘贴到目标工作表的单元格d1中,覆盖我的标题。 我想要它从单元格D2(第一个空单元格)粘贴,并为所有遵守if条件的单元格执行此操作。 有任何想法吗? 代码如下所示。

下面的代码是修改的!

date的问题是如上所示..我想是因为它出现在单元格内,而不是在页面的顶部.. 在这里输入图像说明

Dim v As Range Set v = Sheets("1").Cells(Worksheets("1").Rows.Count, "D").End(xlUp) With Sheets("Tracker") For Each cell In .Range(.Cells(2, "G"), .Cells(.Rows.Count, "G").End(xlUp)) If cell.Value = r.Value Then Set v = v.Offset(1, 0) v = cell.Offset(0, -2).Value End If Next cell End With 

避免select; 明确定义父工作表; 从下往上查找最后填充的单元格; 用起点和终点来定义你的范围。

 Dim v As Range Set v = WORKSheets("1").Cells(WORKSheets("1").Rows.Count, "D").End(xlUp) with WORKSheets("Tracker") For Each cell In .Range(.cells(2, "G"), .cells(.rows.count, "G").End(xlUp)) If Int(cell.Value2) = Int(r.Value2) Then Set v = v.Offset(1, 0) v = cell.Offset(0, -1).value end if Next cell end with