自动填充留下空白的空白单元格
Posted
技术标签:
【中文标题】自动填充留下空白的空白单元格【英文标题】:Autofill leaves blank blank cells 【发布时间】:2018-02-19 13:07:05 【问题描述】:我浏览了该网站以寻找以下问题的答案(无济于事):
我想只使用格式自动填充。
在单元格T3
我有以下公式
=IFERROR(AVERAGEIF(K3:S3;"<>0");" ")
我想从 T3 快速填充到 Dim LastRow
(工作变量)。
我试过复制公式,然后我得到error 1004
,因为字符太多;
我试过了
Range("T3").Select
Selection.AutoFill Destination:=Range("T3:T" & LastRow)
它留下未填充(空)的单元格
最后
Dim dest As Range, source As Range
Set dest = WsStam.Range("T4:T" & LastRow)
Set source = WsStam.Range("T3")
source.AutoFill Destination:=dest, Type:=xlFlashFill
这也会留下空单元格。 (编辑当我尝试上述方法时,我得到“范围类的自动填充方法失败”
有什么解决办法吗?非常感谢您的帮助。
【问题讨论】:
您确定单元格实际上是空的,而不仅仅是返回一个空格?Range("T3:T" & LastRow).FillDown
做得对吗?您忽略了显示 LastRow 是如何确定的。
是的,它们是空的。只需单击单元格并检查编辑栏。最后一行LastRow = WsStam.Range("S2").End(xlDown).row
改用LastRow = WsStam.Range("S" & rows.count).End(xlUp).row
。
Range("T3").AutoFill Destination:=Range("T3:T" & LastRow)
应该可以在 LastRow
正确填充的情况下工作。
【参考方案1】:
问题中的公式
=IFERROR(AVERAGEIF(K3:S3;"<>0");" ")
似乎有分号 (;),这可能是问题的原因。您需要用逗号替换它。
=IFERROR(AVERAGEIF(K3:S3,"<>0")," ")
如果您已经这样做了,IFERROR
可能会根据条件返回空白。
【讨论】:
某些区域设置要求使用分号作为分隔符,而不是逗号 我正要这么说。将工作表更改为逗号时出现错误。【参考方案2】:解决了这个问题。必须与代码和 IfError 以及与此相关的位置有关(这些字段为空,因此未显示值。
填充的代码是:
WsIjk.Range("J3").AutoFill Destination:=WsIjk.Range("J3:J" & LastRow)
【讨论】:
以上是关于自动填充留下空白的空白单元格的主要内容,如果未能解决你的问题,请参考以下文章