2017-01-25 1 views
-5

Сначала я покажу, как именно выглядит мой блокнот. См. Прикрепленное изображение. Тогда я объясню, что я ищу.Как импортировать конкретные данные из таблицы «Блокнот в Excel» с помощью VBA

enter image description here

От этого я хочу, чтобы импортировать «Cutter PA Value», Cutter BR Значение & Cutter значения радиуса в отдельных колонках Эксель листа. Мой лист Excel будет иметь имена столбцов, как резец PA, радиус фрезы, Cutter BR. Я хочу, чтобы значения блокнота подавались внутри каждого соответствующего столбца. . Как мне решить, как решить эту проблему.

+0

Можете ли вы объяснить немного больше? –

ответ

0

Что-то вроде этих строк должно работать. У меня нет тестового файла, но вы должны быть в состоянии его выработать ...

Sub ImportText() 

Dim LineString As String 
Dim sSourceFile As String 
Dim r As Long 
Dim fLen As Long 
Dim fn As Integer 
Dim CutterPA, CutterBR, CutterRad As Double 

'Text file and path 
sSourceFile = "C:\filtest.txt" 

'sSourceFile doesn't exist 
If Len(Dir(sSourceFile)) = 0 Then Exit Sub 

'Gets a free file number from the operating system 
fn = FreeFile 

'Opens the file for input 
Open sSourceFile For Input As #fn 
fLen = LOF(fn) 
r = 2 
While Not EOF(fn) 
    Line Input #fn, LineString 

    If InStr(LineString, "(Cutter PA)") > 0 Then 
     CutterPA = Val(Split(LineString, "=")(1)) 
    End If 

    If InStr(LineString, "(Cutter BR)") > 0 Then 
     CutterBR = Val(Split(LineString, "=")(1)) 
    End If 

    If InStr(LineString, "(Cutter Radius)") > 0 Then 
     CutterRad = Val(Split(LineString, "=")(1)) 
    End If 

    'Write values if new item 
    If InStr(LineString, "(***********") > 0 Then 
     With ActiveSheet 
      .Cells(r, 1).Value = CutterPA 
      .Cells(r, 2).Value = CutterBR 
      .Cells(r, 3).Value = CutterRad 
     End With 

     r = r + 1 
    End If 


Wend 

'Closes the text file 
Close #fn 

End Sub 
+0

Благодарим за ответ. Можете ли вы поделиться мне своим идентификатором почты, чтобы я мог поделиться с вами своим текстовым файлом. в то время как я попробую код, что вы отправили, и очень жаль позднего ответа, я был в отпуске, – Aghil

+0

Привет @Aeneas Я попытался загрузить здесь текстовый файл, но его не работает. Я получаю несколько ошибок при запуске кода. Я запускаю строку за строкой и получаю ошибку в самой первой строке этого цикла if. Если InStr (0, LineString, «(Cutter PA)»)> 0 Then CutterPA = Val (Split (LineString, "=") (1)) End If Ошибка, которую я получаю, это «Неверный вызов или аргумент процедуры " – Aghil

+0

Я удалил необязательный параметр из функции InStr. Пожалуйста, попробуйте еще раз – Aeneas

Смежные вопросы