excel - 如何在包含 5000 行数据的工作表中在 vba 中编写 vlookup?
问题描述
Sub test
Dim z As Long
z = Range("A" & Rows.Count).End(xlUp).Row
Range("C4").Formula ="=Vlookup(A4, '[EMP.txt]EMP'!$A$2:$C2,3,False)"
Range("C4").Copy
Range("C4:C" & z).pastspecial xlPasteAll
End sub
我的公式在我的代码中有效,但它省略了几行,所以我的总数不匹配。如果我将 vlookup 公式更改为=Vlookup(A4,’[EMP.txt]EMP’!$A$2:$C176,3,False)
,它将覆盖所有内容,但范围会每周更改。我该如何解决?
解决方案
因为在您的代码中,您已经有一个变量命名为z
您在 A 列中存储最后一个非空白单元格的行,您可以使用相同的行号来更新您的范围Vlookup
所以替换行:
Range("C4").Formula ="=Vlookup(A4, '[EMP.txt]EMP'!$A$2:$C2,3,False)"
和
Range("C4").Formula ="=Vlookup(A4, '[EMP.txt]EMP'!$A$2:$C" & z & ",3,False)"
推荐阅读
- javascript - 远程通知不会触发notificationclick
- docker - 如何在来宾操作系统和 Docker 容器之间绑定目录?
- php - Symfony 实体属性访问问题 无法确定访问类型
- vb.net - 如何将 PictureBox 中的图像保存到我的数据库中?
- php - CORS 错误:配置 Symfony 5 以接受 CORS 的正确方法是什么?
- python - 为 matplotlib Axes.scatter 指定颜色级别?
- php - 为什么 products.php 不影响 product.twig Opencart 3.0 中的任何更改?
- html - 如何控制模板中的边框,像这样?
- php - Laravel 8 - 路由不返回方法值
- javascript - 在对象原型中添加一个方法来更改调用它的所有键的值