如果相邻单元格不为空 + 匹配,则从上面的单元格自动填充

Posted

技术标签:

【中文标题】如果相邻单元格不为空 + 匹配,则从上面的单元格自动填充【英文标题】:Autofill from cell above if adjacent cell is not empty + match 【发布时间】:2017-07-10 07:24:53 【问题描述】:

我对 VBA 不是很熟悉,所以请多多包涵。

我的问题与此链接有关:Double-click autofill - dynamic based on adjacent cell

enter image description here

但是,属性位于另一列(例如 E 列)。我已经尝试调整代码,但无济于事。

【问题讨论】:

顺便说一句,我需要使用 VBA,因为它可以包含 20,000 多个项目,然后需要将这些项目插入另一个程序。希望有人能帮忙。谢谢! 【参考方案1】:

这对你有用吗?

Sub FillBlanks()
Dim lr As Long
lr = Cells(Rows.Count, "E").End(xlUp).Row   'Assuming Attributes are in Column E
On Error Resume Next
'Assuming you want to fill blanks in column A
With Range("A1:A" & lr).SpecialCells(xlCellTypeBlanks)
    .Formula = "=R[-1]C"
    .Value = .Value
End With
End Sub

【讨论】:

您好!顺便说一句,我将在 A 列中填空。不幸的是,它不起作用。 您好!顺便说一句,我将在 B 列中填写空白。不幸的是,它不起作用。如果我在 B21 上将第一项作为 EQ-1,然后有 10 个空白单元格,则自动填充 EQ-1,但是一旦第 11 个单元格 (B32) 上有 EQ-2,EQ-1 仍会填充下面的单元格和不是 EQ-2。此外,N/A 也出现了(我不太确定为什么。) 如果您尝试填充 B 列中的空白,请将 With Range("A1:A" & lr).SpecialCells(xlCellTypeBlanks) 行替换为 With Range("B1:B" & lr ).SpecialCells(xlCellTypeBlanks) 并将 B1 替换为 B 列中要开始填充空白的第一个单元格。所以如果是B21,把B1换成B21。 通过点击 Sheet1 上的按钮测试此文件中的代码:dropbox.com/s/ukjcsonlf2r5wd3/FillBlanksInColB.xlsm?dl=0 我昨天已经改过代码了,但是还是不行。如果有帮助,它的外观如下:

以上是关于如果相邻单元格不为空 + 匹配,则从上面的单元格自动填充的主要内容,如果未能解决你的问题,请参考以下文章

Excel - 条件格式 - 单元格不为空且等于 0

Excel函数打印输出选择范围如果不为空(不打印)

解决POI读取Excel如何判断行是否为空

解决POI读取Excel如何判断行是否为空

对于 IF Else 循环在单元格为空时不会停止

使用 openpyxl 移动到相邻单元格