如何使用 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
会发表评论但排名还不够高。