gpt4 book ai didi

EXCEL MACRO - 仅在空白单元格上执行 vlookup

转载 作者:行者123 更新时间:2023-12-04 20:17:29 24 4
gpt4 key购买 nike

我有一个包含 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 中提取“四”和“七”。表,它拉起“一”和“一”。

有谁能够帮我?

谢谢

最佳答案

将为第一个单元格提取值,而不是单个单元格。

试试这个,首先获取公式来计算每个单元格的正确值,然后粘贴该单元格的值。

dim rgLoop as range

Range("B3").AutoFilter Field:=2, Criteria1:=""

Range("C3:C12").specialcells(xlcelltypevisible).formular1c1="=VLookup(RC2, Sheet2!B2:C11, 2, False)"

for each rgLoop in Range("C3:C12").specialcells(xlcelltypevisible)
rgLoop.value=rgLoop.value
next rgLoop

关于EXCEL MACRO - 仅在空白单元格上执行 vlookup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19388086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com