Я пытаюсь заполнить массив из CSV-файла, который содержит пробелы между словами и второй, который я пытаюсь заполнить, после того как я заменил все пространства дефисом.слово vba текст, заменяющий между массивами
Таким образом, содержимое массива выглядит так: «Привет там», а содержимое массива выглядит так «Привет-там».
Я пробовал использовать замену (текст, старый, новый), но я сталкиваюсь с проблемами. В автономном макросе без других субмарин работает. Если есть какие-либо другие подводные лодки это не делает, подбрасывая и ошибки говоря «неверное число аргументов или присвоение недействительного имущества»
Это код, который я получил:
Private Sub import_csv()
Dim file_name As String
Dim fnum As Integer
Dim whole_file As String
Dim lines As Variant
Dim one_line As Variant
Dim num_rows As Long
Dim num_cols As Long
Dim the_array() As String
Dim imported_array() As String
Dim txt As String
Dim R As Long
Dim C As Long
file_name = "test.csv"
'load the file
fnum = FreeFile
Open file_name For Input As fnum
whole_file = Input$(LOF(fnum), #fnum)
Close fnum
'Break the file into lines
lines = Split(whole_file, vbCrLf)
'Dimension the array
num_rows = UBound(lines)
one_line = Split(lines(0), ",")
num_cols = UBound(one_line)
ReDim the_array(num_rows, num_cols)
ReDim imported_array(num_rows, num_cols)
'Copy the data into the arrays
For R = 0 To num_rows
If Len(lines(R)) > 0 Then
one_line = Split(lines(R), ",")
For C = 0 To num_cols
imported_array(R, C) = one_line(C)
txt = one_line(C)
txt = replace(txt, " ", "-") '<----- problem line
the_array(R, C) = txt
Next C
End If
Next R
End Sub
Вы определили функцию с именем «заменить»? Существует уже метод с этим именем в VBA ... –
Я думаю, что узнал, в чем проблема. Я попытался использовать VBA.Replace, и это сработало. Поэтому я просмотрел ссылки, но не смог найти отсутствующих:/ –