2

フォームの選択に基づいて、関連するアイテムシートを再表示するアイテムのリストを含むフォームがあります。アイテム名の長さにより、各アイテムにはIDが割り当てられます。vlookup関数は、別のシートの名前の一致に基づいて、関連するIDを取得することを目的としています。

コードは次のとおりです。

渡されるfundName値は、「AX-Arnold XchangeSecurities(USD)」です。FundIDは、検索対象の配列の5番目の列にあります。FundIDは間違いなく存在します

ここでの問題は、関数クラスのvLookupプロパティを取得できないランタイムエラーが発生することです。エラー1004

Private Sub FundLookupImage_Click()

Dim fundName As String
Dim fundSheetName As String
Dim ws As Worksheet

Set ws = Worksheets("DownloadTable")
MsgBox ws.UsedRange.EntireRow.Count

fundName = Me.FundList.Value
fundName = """" & fundName & """"
MsgBox fundName

fundSheetName = CStr(Application.WorksheetFunction.VLookup(fundName, ws.Range("A:F"), 5, True))
MsgBox fundSheetName

Unload Me
End Sub

私はExcel自体でvLookupメソッドをテストしましたが、正しいIDを取得します

4

1 に答える 1

1

VLookup を使用すると、使用する必要があるときに常に夢中になります。これを試してください。

DIM searchResult AS variant
    searchResult = 0
    On Error Resume Next
    searchResult = Application.WorksheetFunction.VLookup(fundName, ws.Range("A:F"), 5, 0)
    fundSheetName = CStr(searchResult)
于 2013-03-06T08:57:23.057 に答える