VBA линейный вход vs вход

Я хочу прочитать файл, написанный c, где каждая строка разделена на /n. Я хочу прочитать этот файл и сравнить его с данными в excel. Я использовал input #1, data . Но я хочу прочитать строку с", " (запятая), поэтому я использовал Line Input #1, data.

когда я проверяю, что "данные" с данными в excel, хотя они одинаковы, это говорит ложь.

Activecell="KVK"
Line Input #1,data
msgbox ActiveCell=data

печатает false, даже если данные KVK.

Спасибо за помощь заранее, Vamshi krishna

Dim fpath, fnum, s
fpath = Application.GetOpenFilename
fnum = FreeFile
Open fpath For Input As fnum
Range("A1").Activate

Do While Not EOF(fnum)
Line Input #fnum, s
'Input #fnum, s

MsgBox s & " = " & ActiveCell & "  "
MsgBox s = ActiveCell
ActiveCell.Offset(1, 0).Select
Loop

.формат txt имеет

12
13
14

данные в первой колонке

12
13
14

2 ответов


попробовать ниже код :

Sub InputImage()

    Dim FileNum As Integer, i As Integer
    Dim fpath As String, s As String, cellVal As String

    fpath = Application.GetOpenFilename


    FileNum = FreeFile()
    Open fpath For Input As #FileNum

    i = 1
    While Not EOF(FileNum)
        Line Input #FileNum, s    ' read in data 1 line at a time

        cellVal = CStr(Cells(i, 1).Value)

        MsgBox s & " = " & cellVal & "  "
        MsgBox s = cellVal
        ActiveCell.Offset(1, 0).Select

        i = i + 1
    Wend


End Sub

Если вы проверяете в окне просмотра тип данных ячейки (i,1).Значение показывает Variant / Double. Поэтому необходимо преобразовать в string.

enter image description here


или используйте TextStream в библиотеке сценариев, это намного лучше.

и, пожалуйста, закройте файл, Когда вы закончите с ним, вы должны быть человеком, который не кладет молоко обратно в холодильник, когда вы закончите с ним, и просто портит его для всех.