Member 12737742 Ответов: 1

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


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

Что я уже пробовал:

Private Sub CommandButton1_Click()
Worksheets("newdata").Activate
Dim scan As Integer
Dim myfilepath As String
myfilepath = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If myfilepath = CStr(False) Then MsgBox ("no files")
Exit Sub
Open myfilepath For Input As #1
x = 0
Do Until EOF(1)
    Line Input #1, linefromfile
    lineitems = Split(linefromfile, vbTab)
    For scan = 0 To UBound(lineitems) - 1
            lineitems(scan) = Replace(lineitems(scan), Chr(34), "")
    Next
    ActiveCell.Offset(x, 0).Value = lineitems(0)
    ActiveCell.Offset(x, 1).Value = lineitems(1)
    ActiveCell.Offset(x, 2).Value = lineitems(2)
    ActiveCell.Offset(x, 3).Value = lineitems(3)
    ActiveCell.Offset(x, 4).Value = lineitems(4)
    ActiveCell.Offset(x, 5).Value = lineitems(5)
    ActiveCell.Offset(x, 6).Value = lineitems(6)
    ActiveCell.Offset(x, 7).Value = lineitems(7)
    ActiveCell.Offset(x, 8).Value = lineitems(8)
    ActiveCell.Offset(x, 9).Value = lineitems(9)
    ActiveCell.Offset(x, 10).Value = lineitems(10)
    ActiveCell.Offset(x, 11).Value = lineitems(11)
    ActiveCell.Offset(x, 12).Value = lineitems(12)
    
    x = x + 1
Loop

Close #1
End Sub

1 Ответов

Рейтинг:
11

Patrice T

Возможно ли, что вы забыли End If

If myfilepath = CStr(False) Then
    MsgBox ("no files")
    Exit Sub
End If

чтобы встроить Exit Sub ?


Member 12737742

если я поставлю конец, если он показывает конец, если без блока, если

Patrice T

Прочтите еще раз фрагмент кода в решении.

Member 12737742

извини, что пропустил эту часть.