Если вы хотите сделать отдельную процедуру для выбора папки, вам необходимо определить, выбрал ли пользователь что-либо.Вы можете использовать Boolean
тип возврата функции в результате действия и строку для исходной папки, которая передается по ссылке, которая будет заполнена, если папка выбрана пользователем.Вот основной код:
Sub Test()
Dim sourceFolder As String
'// Usage
If Not GetSourceFolder(sourceFolder) Then
MsgBox "No folder selected", vbExclamation
Exit Sub
End If
'// Go on with your code
End Sub
Function GetSourceFolder(ByRef sourceFolder As String) As Boolean
'// By default function will return False
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then
sourceFolder = .SelectedItems(1)
GetSourceFolder = True
End If
End With
End Function