Как я могу использовать функцию сопоставления индекса в VBA, чтобы найти значения в файле CSV, а затем импортировать эти значения в сопоставленный индекс в ячейке в Excel? Скажем, у меня есть файл CSV, который содержит следующий текст с разделителями-запятыми:
lookup1, 2
lookup2, 3
И следующие данные в Sheet2 в Excel:
B2 = lookup1
C2 = 0
B3 = lookup2
C3 = 0
Как использовать сопоставление индекса, чтобы найти значение 2 во втором столбце для "lookup1" в файле CSV, а затем изменить значение 2 в ячейке C2 в Excel?
Я попробовал приведенный ниже код, но он не работает, и я не думаю, что он ищет в листе 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
Спасибо!