【发布时间】:2017-01-23 16:03:29
【问题描述】:
我有一列 A 的数据最多为 A300。
在此范围内,这些单元格中有些是空的,有些包含值。
在 VBA 中,我设置单元格 A1 的公式,然后使用自动填充功能将其设置在我的列中(最多 A300),如下所示:
ws.Range("A1").Select
Selection.AutoFill Destination:=ws.Range(ws.Cells(1, 1), ws.Cells(300, 1))
我的问题是某些单元格上包含的数据也被删除了!我正在尝试自动填充,但只能通过空单元格。
我试图像这样在我的工作表上添加一个过滤器:
ws.Range("$A$1:$A$300").AutoFilter Field:=1, Criteria1:="="
然后我重用了自动填充功能,但它似乎填充了过滤后的单元格......
我们不能在自动填充功能中添加“仅清空单元格”之类的参数吗?像这样的:
Selection.AutoFill Destination:=ws.Range(ws.Cells(1, 1), ws.Cells(300, 1)), Criteria1:="="
感谢您的回复!
【问题讨论】:
-
你想用什么来填充它们?静态的还是渐进的价值观?请参阅带有 xlCellTypeBlanks 的 Range.SpecialCells method。
-
我还有一个关于“SpecialCells(xlCellTypeBlanks)”的问题。结果是如果复制然后粘贴一个空单元格,这些单元格不再被视为空白单元格,并且此代码未选择它(但此单元格仍然为空),这是 SpecialCells(xlCellTypeBlanks)的已知问题。所以即使我有一个空白单元格,我也会收到错误“没有单元格匹配”。你知道这个问题的任何解决方案吗?