【发布时间】:2017-04-13 17:59:35
【问题描述】:
经过数小时的失败尝试和搜索互联网后,我没有找到我想要做的事情。我想扫描一列以查找字符串,如果找到,我想复制下一个单元格的值并将其粘贴到新工作表中,然后继续沿列向下查找下一个字符串并将其旁边的值复制到下一个单元格在另一张纸上。我已经获得了执行复制和粘贴的代码,但我不知道如何将粘贴位置向下移动到下一个单元格,这样它就不会继续覆盖。这是我目前所拥有的:
For Each cell in SrchRng
If cell.Value = "1_Complete" Then
cell.Offset(0,1).Copy Sheets("WO Completion List").[A1]
End If
Next cell
我尝试使用一个整数 i,其中列出了 A1 单元格,然后在目标中使用 i = i+1 增量,但它不起作用。我觉得这很简单,但我无法弄清楚。也许我需要创建一个数组?我是 VBA 新手,我习惯于 Java 或 C++。
快速更新:
我没有使用“.Cells”,我把“s”去掉了,所以我已经让它工作了。我这样做了:
For Each cell In SrchRng
If cell.Value = "1_Complete" Then
cell.Offset(0, 1).Select
Selection.Copy
Sheets("WO Completion List").Cells(i, 1).PasteSpecial xlPasteValues
i = i + 1
End If
Next cell
我现在的问题是,有没有更好的方法来做到这一点?当我运行该函数时,它会导致屏幕闪烁一堆并将列表复制到一张纸上,然后值消失,看起来很奇怪。
【问题讨论】: