Я работаю над сценарием Excel vba, который читает текстовый файл (test.txt) и заполняет раскрывающийся список. Раскрывающийся список содержит следующие элементы:
яблоко
груши
лимон
лайм
в текстовом файле:
яблоки
яблоко ломтики
Большое яблоко
Лимонный сок
Лимон
Груша ломтиками
Что я хотел бы получить, когда он читает кусочки Apple в текстовом файле в раскрывающемся списке, который он установлен как Apple. То же самое, когда написано «Большое яблоко», в раскрывающемся списке указано «Apple».
Вот мой код
Sub CopyTXT()
Dim myFile, textline
Dim compare As String
Dim sArray() As String
Dim mywnd As Long
Dim i As Integer
Dim cell As Range
Dim dbsheet As Worksheet
Dim myArray() As Variant
Dim myTable As ListObject
Dim x As Long
Set myTable = Worksheets("Sheet2").ListObjects("Table3")
TempArray = myTable.DataBodyRange.Columns(1)
myArray = Application.Transpose(TempArray)
Set dbsheet = ThisWorkbook.Sheets("Sheet1")
lr = dbsheet.Cells(Rows.Count, 1).End(xlUp).Row
Charr = Chr$(160)
myFile = "test.txt"
For y = 1 To lr
If Not dbsheet.Cells(y, 1) = Charr Then
Close #1
Open myFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
For x = LBound(myArray) To UBound(myArray)
If InStr(1, textline, myArray(x), vbTextCompare) > 0 Then
dbsheet.Cells(y, 1).Value = textline
x = x + 1
End If
Next x
y = y + 1
Loop
End If
Next
Close #1
End Sub