为啥我的自动填充代码在我没有为 VBA 引用的单元格中显示 #N/A?
Posted
技术标签:
【中文标题】为啥我的自动填充代码在我没有为 VBA 引用的单元格中显示 #N/A?【英文标题】:Why does my autofill code display #N/A in a cell I did not reference for VBA?为什么我的自动填充代码在我没有为 VBA 引用的单元格中显示 #N/A? 【发布时间】:2017-07-19 19:24:40 【问题描述】:我昨天问了一个类似的问题,我遇到了另一个问题。这是我的代码(我声明了我的工作表):
Dim lrp As Long 'last row for pricing worksheet
Dim lrf As Long 'last row for forecasting worksheet
lrp = Pricing.Range("A3", Pricing.Range("A" & Rows.Count)).End(xlUp).Row
lrf = Forecast.Range("A6", Forecast.Range("A" & Rows.Count)).End(xlUp).Row
'Pricing Worksheet
Pricing.Range("B3:AR3").autofill Destination:=Pricing.Range("B3:AR" & lrp)
'Forecasting Worksheet
Forecast.Range("B6:HO6").autofill Destination:=Forecast.Range("B6:HO" & lrf)
如果我们以定价工作表为例,我之所以使用 ("B3:AR3") 是因为我在所有单元格中都有公式,我想将这些公式复制到最后一行 (lrp)。此代码会自动填充所有内容,但也会将公式添加到其上方的单元格中。因此,例如现在 B2 中有一个公式,当它应该是我的标题时,它会显示为“#N/A”。如何将公式从第 3 行(从 B 列到 AR)自动填充到最后一行,而不将其包含在标题中。
感谢大家的帮助。 VBA 还是新手。
【问题讨论】:
所以公式从B3
开始填写,但随后也在B2
中添加了一些内容?与B6
相同,是否在B5
中添加了一些内容?
您是否尝试过不使用自动填充,而只是复制这些单元格/公式并粘贴到该范围内?
您能告诉我们您从lrp
和lrf
得到什么吗?如果它们根本小于 3,则您的范围将包括第 2 行。
BruceWayne:这正是我的问题
@GCC 在 AutoFill 调用之前它们有什么值?例如,如果 lrp
结果为 2,您的第一个自动填充功能会将 Destination
从 Range("B3:AR" & lrp)
评估为 Range("B3:AR2")
,然后将其更改为 Range("B2:AR3")
。
【参考方案1】:
变化:
lrp = Pricing.Range("A3", Pricing.Range("A" & Rows.Count)).End(xlUp).Row
lrf = Forecast.Range("A6", Forecast.Range("A" & Rows.Count)).End(xlUp).Row
到
lrp = Pricing.Range("A" & Rows.Count).End(xlUp).Row
lrf = Forecast.Range("A" & Rows.Count).End(xlUp).Row
【讨论】:
我仍然收到不适用的 但是你有没有把它放在标题应该在的地方? 我知道标题应该在哪里 A列有数据吗? 我在 A 中一直有数据,直到第 1200 行以上是关于为啥我的自动填充代码在我没有为 VBA 引用的单元格中显示 #N/A?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Excel 中的自动调整行 VBA 代码不断在我的公式中导致 #value 错误?