自动填充留下空白的空白单元格

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)

【讨论】:

以上是关于自动填充留下空白的空白单元格的主要内容,如果未能解决你的问题,请参考以下文章

Excel技巧--分类求和与空白批量填充

Excel VBA 自动过滤器然后更改字段值并填写错误处理空白单元格的可能性

excel单元格自动填充等于上一单元格内容

根据上面的非空白单元格填充空白单元格

Excel 向上自动填充

如何根据多个单元格中的值自动填充