За 10 лет не занимался программированием, а сейчас пытаюсь автоматизировать административную работу.Мне нужно создать файл CSV из определенного набора данных.Выполнение кода ниже автономно с использованием этого кода для выбора диапазона:
Set rng = Sheets("HAOD").Range("A2", Cells(Range("a1000000").End(xlUp).row, Range("xfd1").End(xlToLeft).Column))
работает нормально, но если я вызываю подпрограмму из моей основной программы, я получаю ошибку 1004, и отладчик указывает на мой выбор диапазона.Вместо этого я попытался использовать этот код для выбора диапазона, я использую его в функции VBA vlookup, которую я нашел в Интернете, и она прекрасно работает там:
rng = .Range("A2:" & tblEnd & .Cells(.Rows.Count, tblEnd).End(xlUp).row).Value
Но при использовании этого он сначала жалуется на.-Ссылку икогда я добавляю Sheets("HAOD")
, я снова получаю ошибку 1004.На этот раз даже при работе саба автономноЧто я делаю не так?
Sub CreateCheckITfile()
Call PopulateHAODtab
Call SaveAsCSV
End Sub
Sub SaveAsCSV()
Dim myFile As String
Dim rng As Range
Dim cellValue As Variant
Dim i As Integer
Dim j As Integer
myFile = Application.DefaultFilePath & "\HAOD.csv"
Set rng = Sheets("HAOD").Range("A2", Cells(Range("a1000000").End(xlUp).row, Range("xfd1").End(xlToLeft).Column))
Open myFile For Output Lock Write As #1
For i = 1 To rng.Rows.Count
Dim fileRow As String
fileRow = ""
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
fileRow = fileRow & cellValue
Print #1, fileRow
Else
fileRow = fileRow & cellValue & ","
End If
Next j
Next i
Close #1
End Sub