Excel VBA 索引匹配 csv 导入

Excel VBA 索引匹配 csv 导入

如何使用 VBA 中的索引匹配函数在 CSV 文件中查找值,然后将这些值导入到 Excel 单元格中的匹配索引中?假设我有一个 CSV 文件,其中包含以下逗号分隔的文本:

查找1,2

查找2, 3

Excel Sheet2 中的数据如下:

B2 = 查找1

C2 = 0

B3 = 查找2

C3=0

如何使用索引匹配在 CSV 文件中“lookup1”的第二列中找到值 2,然后在 Excel 中将单元格 C2 中的值更改为 2?

我试过下面的代码,但它不起作用,我不认为它在 Excel 表中查找以匹配值需要去的地方

Sub Tester()

    Dim arr1

    arr1 = CsvToArray(Application.GetOpenFilename)

    Debug.Print TestLookup(arr1, "lookup1", 1, 2)

End Sub

Function TestLookup(arr, val, lookincol As Integer, returnfromcol As Integer)
    Dim r
    r = Application.Match(val, Application.Index(arr, 0, lookincol), 0)
    If Not IsError(r) Then
        TestLookup = arr(r, returnfromcol)
    Else
        TestLookup = "Not found" 'or some other "error" value
    End If
End Function

Function CsvToArray(filepath As String) As Variant
    Dim wb As Workbook
    Application.ScreenUpdating = False
    Set wb = Application.ActiveWorkbook
    CsvToArray = wb.Sheets("Sheet2").Range("C2").CurrentRegion.Value
End Function

谢谢!

答案1

您的 CSV 文件需要使用适当的标题进行格式化。

以纯文本形式显示如下:

lookup1,lookup2
2,3

会发表评论但排名还不够高。

相关内容