【发布时间】:2019-06-06 16:03:25
【问题描述】:
我有一张表格,里面填满了与另一张表格相关联的公式。这些公式根据列顶部的日期是否与单个单元格中的日期(周结束日期)相匹配,从另一个表中获取数据。我希望能够仅自动复制值大于 0 的单元格,然后将它们作为值粘贴回同一个单元格中。我使用以下公式来尝试完成此操作,但它并没有完全达到我想要的效果。温柔点,我充其量是个新手。
Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("Table4")
For Each cel In SrchRng
If cel.Value > 0 Then
cel.Copy
cel.PasteSpecial xlPasteValues
End If
Next cel
End Sub
预期输出:仅复制表格中大于 0 的单元格并粘贴为值。
目标:在空白单元格中保留公式
上面的结果:逐个单元格的进度非常缓慢,并复制并粘贴到所有单元格中,包括空白和 0 值,直到它停止
【问题讨论】:
-
我用一个包含 2k 个公式的测试文件和一个简单的 K1*L1 公式运行了这个,它运行得很快,完全按照你的意愿去做。也许您可以发布数据和公式的示例? Table4 有多少行?
-
cel.Value > 0也会检查字符串,这些字符串...嗯,大于 0。 -
@mooseman,如果它不是专有的,我肯定会分享我正在使用的表。 FAB 的建议虽然效果很好。感谢您的意见