excel - 我的 VBA Vlookup 返回 N/A。我究竟做错了什么?
问题描述
所以我有一个预先组装的列表,我现在正试图从我拥有的另一个工作簿中添加更多到列表中。我想我可以使用 VBA 创建一个宏来执行 VLookup 来检索和填充添加的字段。
我的 VBA:
Option Explicit
Sub CompareUntimed()
Dim wb As Workbook
Dim utsheet As Worksheet
Dim utlastrow, f9lastrow, J As Long
Dim f9sheet As Worksheet
Dim ctr As Integer
Set wb = Workbooks.Open(get_user_specified_filepath())
Set utsheet = wb.Sheets(2)
utlastrow = utsheet.Cells(Rows.Count, "A").End(xlUp).Row
Set f9sheet = ThisWorkbook.Sheets("Part List")
f9lastrow = f9sheet.Cells(Rows.Count, "A").End(xlUp).Row
For J = 2 To f9lastrow
f9sheet.Range("G" & J) = Application.VLookup(f9sheet.Range("H" & f9lastrow), utsheet.Range("S2:S" & utlastrow), 17, False)
f9sheet.Range("F" & J) = Application.VLookup(f9sheet.Range("H" & f9lastrow), utsheet.Range("S2:S" & utlastow), 10, False)
Next J
End Sub
我正在尝试使用我创建的 UniqueID 列,这是每个工作簿中的最后一列,并且我正在尝试将日期和按列修改的列添加到我的新工作簿中。
解决方案
Sub CompareUntimed()
Dim wb As Workbook
Dim utsheet As Worksheet
Dim utlastrow, f9lastrow, J As Long
Dim f9sheet As Worksheet
Dim ctr As Long
Set wb = Workbooks.Open(get_user_specified_filepath())
Set utsheet = wb.Sheets(2)
Set f9sheet = ThisWorkbook.Sheets("Part List")
f9lastrow = f9sheet.Cells(Rows.Count, "A").End(xlUp).Row
For J = 2 To f9lastrow
m = Application.Match(f9sheet.Range("H" & J), utsheet.Columns("S"), 0)
If Not IsError(m) Then
f9sheet.Range("G" & J).Value = utsheet.Cells(m, "K").Value
f9sheet.Range("F" & J).Value = utsheet.Cells(m, "R").Value
Else
f9sheet.Range("F" & J).Resize(1,2).Value = "???"
End If
Next J
End Sub
推荐阅读
- python - 属性函数返回属性对象而不是值
- html - 如何根据 BeautifulSoup 的特定链接抓取文本?
- python-3.x - super().method() 与 Parent.method()
- xcode - 源文件是空白的,Git 没有显示它曾经存在过
- java - Ionic 的 Avdmanager 缺少带有 oracle 和 open JDK8 的 java se.ee
- mysql - 如果用户在表单提交中没有放置某些字段怎么办?
- c# - 从 MAC 到 Windows 的地形旋转未保留
- django - 如何使“request.user.is_authenticated”工作而不抛出错误
- python-3.x - ProgressBar 与函数计时相同
- javascript - GS 函数在 RETURN 后继续运行