У меня есть данные в столбцах excel, и я хочу извлечь первые 7 столбцов и сохранить их в другом файле csv. Имя файла будет в определенной форме основываться на информации, которую я собираю от пользователя, используя форму и другие данные, такие как отметка времени.Как сохранить заданный диапазон в excel как csv?
Я использую следующий код:
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select a Folder"
.AllowMultiSelect = False
.InitialFileName = "" '<~~ The start folder path for the file picker.
If .Show <> -1 Then GoTo NextCode
MyPath = .SelectedItems(1) & "\"
End With
NextCode:
With ActiveWorkbook
.SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlCSV, CreateBackup:=False
Application.DisplayAlerts = False
ThisWorkbook.CheckCompatibility = False
.Close False
End With
Но это пишет все столбцы в выводе CSV, а также закрывает открытый XLS (который я не хочу, чтобы закрыть).
Совет: вместо 'Если .Show <> -1 Тогда GoTo NextCode', вы мог бы сделать 'If .Show = -1 Then Exit Sub' и избежать' GoTo' и метки строки. –