Имейте в виду, что vbFalse = 0 и vbTrue = -1. Другими словами, нажатие «OK» вернет -1 и нажатие «Отмена» вернет 0.
Попробуйте использовать следующий код:
Sub abc()
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Title = "Select a folder then hit OK"
If .Show = -1 Then
MsgBox ("Folder selected is :" & .SelectedItems(1))
Else
Exit Sub
End If
End With
End Sub