vba - Vlookup 上的 Excel VBA
问题描述
我是 Excel VBA 编程的新手,所以请多多包涵:)
我有这个脚本,只要 A 列不为空,它就会在两张纸上进行 VLookup
Dim i As Single
i = 2
Do While Sheet1.Range("A" & i).Value <> " "
Result = Application.VLookup(Sheet1.Range("H" & i), Sheet2.Range("$A$1:$B$30"), 2, False)
Sheet1.Range("B" & i).Value = Result
i = i + 1
Loop
但我不明白为什么当 A 列已经为空时,循环仍然继续将值放在 B 列上。
我错过了停止循环的代码吗?
解决方案
Delcare 使用它的名称定位您的工作表(以确保您在外观中定位正确的工作表)。像这样的东西:
Dim i As Single
Dim TargetSheet as worksheet
Set TargetSheet = Thisworkbook.Sheet("Your sheet name") 'place your sheet name between ""
i = 2
Do While TargetSheet.Range("A" & i).Value <> "" 'make sure the string is empty
Result = Application.VLookup(Sheet1.Range("H" & i), Sheet2.Range("$A$1:$B$30"), 2, False)
Sheet1.Range("B" & i).Value = Result
i = i + 1
Loop
推荐阅读
- typescript - 如何在 addEventListener 上键入 currentTarget
- python - 从 csv 更新 BigQuery 表
- python - Tensorflow 2.0 list_physical_devices 没有检测到我的 GPU
- c# - 在列表值之间分配整数值
- flowground - flowground HTTP 回复连接器“SyntaxError:JSON.parse:JSON 数据的第 1 行第 1 列的意外字符”
- php - 通过 PHP 运行 Neo4j 查询 REST API
- azure - 如何使用 Azure 数据工厂管道调用 REST API?
- android - 需要一些关于 Android SELinux 构建错误的指南
- c++ - 为什么我的 DLL 只能通过手动映射注入?
- python - 当绘图超过 matplotlib 中的特定阈值时更改颜色和线型