Excel中的Vlookup,根据其他列的单元格内容自动填充列的单元格中的内容

时间:2015-12-14 15:25:31

标签: excel vba excel-vba

enter image description here

问题的进一步说明:某些产品代码=某些尺寸的某些产品名称。附图中的帮助表显示某个产品代码=什么尺寸的产品名称,作为指南。

我的问题是,如何使用VBA(或宏)实现: A列单元格中的手动输入应根据A的内容触发B列和C列单元格中自动填充的内容基于帮助表中描述的依赖关系。 (可能使用Vlookup)

当用户继续在新行中添加新记录时,列(B和C)的相应单元格应该#34;填充自己"一旦在A列的同一行中有一个条目,就会自动自动填充.C和B列单元格中自动填充的内容取决于A列中单元格的内容,如附图所示( "帮助表&#34)。如果没有我在B列和C列中使用公式,所有这些都应该可行。对于A列中的空单元格,B列和C列的单元格中应该没有任何内容,甚至不显示#N / A.

我已经对列A,B和C使用了定义名称和数据验证,这对我来说是一个选择列表,也只是为了允许的条目控制列B和C,所以它们的内容不是错误输入的并且具有需要严格的格式。 Excel 2010 - 如果重要的话。

重要提示:我们会在上面添加1000行。

目前,我正在使用B列的CSE公式

{=VLOOKUP(A:A,$H$2:$J$5,2)}

和C列

{=VLOOKUP(A:A,$H$2:$J$5,3)}

问题是文件大小很大,空行中显示#N / A.从使用宏/ VBA我希望有一个小文件大小和干净的外观。

我不能为宏做任何VBA,所以如果你能够如此善良并提出整个代码,请。感谢。

我试图在没有编程here的情况下获得帮助,但到目前为止没有成功。

1 个答案:

答案 0 :(得分:0)

非vba明智的是,你不能做你在这里要求的一切。抱歉。相反,作为非vba示例,我建议您使用产品密钥列(A)来填充B和C列.B和C必须具有索引匹配公式,并且在其外部保留iferror它干净 - 像这样

=IFERROR(INDEX($I$2:$I$4,MATCH($A2,$H$2:H$4,0)),"")

(此示例将位于单元格B2中)

编辑:

一个额外的观点:如果大小真的是一个很大的问题,我建议你研究一下PowerPivot并学习一些(在youtube上尝试Excelisfun快速启动 - 假设它是相关的,它甚至可以节省你可以创建这个电子表格。

或者,假设您不需要动态更改细节,只需将相关的已完成字段粘贴为值 - 这将删除公式。你需要确保任何进一步的添加引用相同的公式,所以要么将它作为明文保存在工作表的其他地方 - 你可以通过在=之前添加任何字符来做到这一点 (我个人最喜欢的是上升,因为我没有使用它)。

相关问题