У меня есть следующий код для сохранения моих рабочих листов в виде CSV-файлов в папку, в которой сохранена рабочая книга. Как мне изменить это, чтобы открыть диалоговое окно «Сохранить как», чтобы я мог выбрать, где я хочу сохранить?
Чтобы быть более конкретным, я хочу изменить код, чтобы можно было указать только путь, по которому можно сохранить все файлы. Я не ищу сохранения для каждого рабочего листа.
Sub SaveOnlyCSVsThatAreNeeded()
Dim ws As Worksheet, newWb As Workbook
Application.ScreenUpdating = False
For Each ws In Sheets(Array("01 - Currencies", ..."14 - User Defined Fields"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs ws.Name, xlCSV
.Close (False)
End With
Next ws
Application.ScreenUpdating = True
End Sub
Я заменил все это средством выбора папок, чтобы упростить его. Выложил обновленный код. Теперь я получаю код ошибки 9 — нижний индекс вне допустимого диапазона.
Sub SaveOnlyCSVsThatAreNeeded()
Dim ws As Worksheet, newWb As Workbook
Dim pathh As Variant
Dim FolderName As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show = -1 Then
FolderName = .SelectedItems(1)
End If
End With
pathh = FolderName
Application.ScreenUpdating = False
For Each ws In Sheets(Array("01 - Currencies", "02 - .....14 - User Defined Fields"))
ws.Copy
Set newWb = ActiveWorkbook
With newWb
.SaveAs pathh.path & "\" & ws.Name, xlCSV
.Close (False)
End With
Next ws
Application.ScreenUpdating = True
End Sub