【发布时间】:2013-10-23 15:54:06
【问题描述】:
我有一个包含 2 列的简单表格 - 第一列有数字 1 到 10,第二列应该有数字的拼写版本(即一、二、三、...、十) .
我想编写一个宏,在表格上执行 vlookup,以使用第一列中的值作为 vlookup 参考自动填充第二列,但仅限于尚未填充的单元格(即仅在空白单元格上)。
当我单击启用宏的按钮时,我会执行以下代码:
Private Sub Button_Click()
Range("B3").AutoFilter Field:=2, Criteria1:=""
Range("C3:C12").Value = WorksheetFunction.VLookup(Range("B3:B12"),
Sheet2.Range("B2:C11"), 2, False)
End Sub
第一行过滤列表,只显示空白。
第二行应仅将vlookup 应用于过滤的单元格。但是,当我将某些单元格留空并执行宏时,它会错误地执行vlookup。例如,如果我删除第 4 行和第 7 行的数据(即删除“四”和“七”),并执行vlookup,它会正确过滤列表,而不是拉“四”和“七”从vlookup 表中,它会拉出“One”和“One”。
谁能帮帮我?
谢谢
【问题讨论】: