gpt4 book ai didi

excel - 运行时错误 1004 无法使用 url 链接名称查找列

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

我正在尝试借助 Microsoft XLS 中的 VBA 搜索该列。

这是我的 xlsx 数据

---------------------------------------------------------------------
|Column1 |Column2 |Column3 |Column4 |Column5 |Column6 |
---------------------------------------------------------------------
|Dataxxx |Olivier | 40 | 100 | 1163 | https://www.facebook.com/groups/xxx/permalink/1338777099605419/ |
----------------------------------------------------------------------
|Dataxxx |Geovanny| 35 | 101 | 1147 | https://www.facebook.com/groups/xxx/permalink/1338288259654303/ |
----------------------------------------------------------------------
|Dataxxx |Julien | 33 | 66 | 1200 | https://www.facebook.com/groups/xxx/permalink/1339487882867674/ |
----------------------------------------------------------------------

这是我尝试过的代码:
Sub myMacro()

Dim myLookupValue As String
Dim myFirstColumn As Long
Dim myLastColumn As Long
Dim myColumnIndex As Long
Dim myFirstRow As Long
Dim myLastRow As Long
Dim myVLookupResult As String

Dim myTableArray As Range

myLookupValue = "https://www.facebook.com/groups/xxx/permalink/1338777099605419/"
myFirstColumn = 2
myLastColumn = 6
myColumnIndex = 5
myFirstRow = 2
myLastRow = 4

With Worksheets("Sheet1")
Set myTableArray = .Range(.Cells(myFirstRow, myFirstColumn), .Cells(myLastRow, myLastColumn))
End With

myVLookupResult = WorksheetFunction.VLookup(myLookupValue, myTableArray, myColumnIndex, False)

MsgBox "My lookup value " & myLookupValue & " are "

End Sub

我该如何解决这个问题?

最佳答案

编辑:您的查找表在错误的列中有查找值。 VLOOKUP要求查找值存在于 中第一个 查找表的列,但您正在寻找一个 url,它是数据中的最后一列。

如何VLOOKUP有效,是你给它一个查找值(例如,“dataxxxx”),告诉它它将在哪里找到该值(例如,那里的单元格范围 - 查找值总是在最左边的列中) ,然后从左侧的哪一列中提取查找结果:如果要获取 URL,则该 URL 不能是您的查找值。

原始答案如下。
myColumnIndex无法匹配 myLastColumn ;您正在查找查找表之外的一列,该列从 B 列开始(myFirstColumn = 2)。

myColumnIndex = myLastColumn - myFirstColumn + 1

应该修复它。

请注意,如果查找失败(即在工作表上返回 #N/A),则 WorksheetFunction.VLookup将引发您需要处理的运行时错误。

如果查找失败并非异常情况,请考虑使用后期绑定(bind) Application.VLookup等效,它将返回错误:
Dim myVLookupResult As Variant ' <~ note the return type
myVLookupResult = Application.VLookup(myLookupValue, myTableArray, myColumnIndex, False)

If IsError(myVLookupResult) Then
'vlookup returned #N/A 'string coercion would throw a type mismatch here
Else
MsgBox myVLookupResult 'string coercion is safe/valid here
End If

关于excel - 运行时错误 1004 无法使用 url 链接名称查找列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57696904/

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