Это мой первый VBA скрипт, когда я тереть ниже код, я получил Ошибка на ячеек (строка, столбец) .Value = Val (данные (индекс)) и Ячейки (строка, col) .Value = данные (индекс). Я новичок в VBA Script. поэтому как исправить эту ошибку.Excel VBA 424 Ошибка объекта, в ячейках (строка, столбец) .Value
Большое спасибо.
Sub ImportFile()
Dim TextLine
Dim drng As Range
Dim n As Integer
Dim row As Long, col As Long
Dim inde As Integer
Dim data() As String
Dim BegRow As Long, BegCol As Long
Dim index As Integer
Dim cell As Range
BegRow = 2
BegRow = 1
BegCol = 1
Columns("A").AutoFit
Columns("B").AutoFit
Columns("C").AutoFit
Columns("D").AutoFit
Columns("E").AutoFit
Columns("F").AutoFit
Columns("G").AutoFit
Columns("H").AutoFit
Columns("I").AutoFit
Columns("J").AutoFit
Columns("K").AutoFit
Columns("L").AutoFit
Columns("M").AutoFit
Columns("M").AutoFit
Columns("O").AutoFit
Columns("P").AutoFit
Columns("Q").AutoFit
Columns("R").AutoFit
Columns("S").AutoFit
Columns("T").AutoFit
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Select txt file"
.Filters.Add "All Files", "*.txt"
.FilterIndex = 2
.AllowMultiSelect = False
.Show
f = Trim(.SelectedItems.Item(1))
Open f For Input As #1
Do While Not EOF(1)
Line Input #1, TextLine
TextLine = DeleteSpace(Trim(TextLine))
data = Split(TextLine, "|")
n = UBound(data)
col = BegCol
For index = 0 To n
If IsNumeric(data(inde)) Then
`**Cells(row, col).Value = Val(data(index))**`
Else
**Cells(row, col).Value = data(index)**
End If
col = col + 1
Next ' Index
col = BegCol
row = row + 1
Loop
Close #1
End With
End Sub
Function DeleteSpace(ByVal str As String) As String
дим Strtemp As String
Strtemp = str
While Replace(Strtemp, " ", " ") <> Strtemp
Strtemp = Replace(Strtemp, " ", " ")
Wend
DeleteSpace = Strtemp
End Function
`
Вы инициализировали значение 'row'? Также используйте «Столбцы» («A: T»). AutoFit' вместо отдельных столбцов – EvenPrime
'A)' Где вы инициализируете значение Row и Col 'B)' Также также IsNumeric (data (inde))? Отсутствует «X» в «Inde» –
@SiddharthRout Спасибо, вы правы – maple