【发布时间】:2018-01-25 16:45:35
【问题描述】:
我正在尝试创建一个公式,该公式将检查单元格是否在 B 列中有值,然后在 A 列中输入一个 vlookup。作为标准公式,它看起来像
=VLOOKUP(B2,'Date Shown'!A:E,7,FALSE)
我希望根据最初检查的单元格更改查找值。我有下面的公式可以检查并添加一个值到相邻的单元格,我试图修改它以进行 vlookup,但不具备正确创建 vlookup 的知识。感谢您的帮助,谢谢!
Option Explicit
Sub Macro1()
Dim r As Range
Dim LastRow As Long
With Sheets("Date Hidden")
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
For Each r In .Range("B2:B" & LastRow)
If r.Value <> "" Then
r.Offset(0, -1).result = Application.WorksheetFunction.VLookup(Sheets("Date Hidden").Range("A2"), Sheets("Date Shown")A:G, 7, False)
End If
Next r
End With
End Subs
显示日期:
A 列 // G 列
简 // 10/1/17
日期隐藏表
A列 //B列
(空)//简
【问题讨论】:
-
Sheets("Date Shown")A:G应该是Sheets("Date Shown").Range("A:G") -
感谢您的快速回复。我收到以下错误“无法获取工作表函数类的 vlookup 值”有什么想法吗?
-
@EricL 你知道该值是否存在于数组中吗?好像找不到了。
-
在工作表“隐藏的日期”B 列有数据我正在尝试查找,在工作表“显示的日期”列 A:G 有数据,列 A 具有与“隐藏的日期”相同的标识符"s 列 B。所以第一张表中的 B 列有一个值为“3”、“4”和“5”的单元格,并且这些相同的值也在第二张表 A 列的某些单元格中。
-
将
r.Offset(0, -1).result =更改为r.Offset(0, -1).Value =会发生什么?我不相信result是一个有效的属性。