Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehlermeldung bei Makro-Abbruch vermeiden

Fehlermeldung bei Makro-Abbruch vermeiden
19.02.2016 10:35:34
Markus
Hallo,
ich verwende folgenden Code in einem Button-Event, um den Dialog zur Ordnerauswahl anzuzeigen.
Das Makro funktioniert soweit wie geplant.
Wenn man jedoch keinen Ordner im Dialog auswählt und statt dessen auf Abbrechen / Cancel im Dialog klickt, d.h. das Makro abbricht, erhalte ich folgende Fehlermeldung:
"Run-time error 5: Invalid procedure call or argument" (s. Kommentar im Code).

Kann mir jemand sagen, wie ich das vermeiden kann ?

Mein Code:
Sub SelectFolder()
Dim varPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Show
On Error Resume Next
varPath = .SelectedItems(1) & "\"
Err.Clear
On Error GoTo 0
End With
Call ImportFiles(varPath)
End Sub

Sub ImportFiles(varPath)
Dim objFile As Object
Dim objFolder As Object
Dim objFSO As Object
Dim varRowCount As Integer
Dim varSheet As Worksheet
Dim varWorkbook As Workbook
Worksheets(2).Cells.ClearContents
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(varPath) ' hier springt der Debugger an - nur bei  _
Abbruch, ansonsten funktioniert alles !
End Sub
Vielen Dank im Voraus.
VG,
Markus

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung bei Makro-Abbruch vermeiden
19.02.2016 10:44:30
otto
Hi,
mit On Error
Sub ImportFiles(varPath)
Dim objFile As Object
Dim objFolder As Object
Dim objFSO As Object
Dim varRowCount As Integer
Dim varSheet As Worksheet
Dim varWorkbook As Workbook
Worksheets(2).Cells.ClearContents
On Error GoTo Ende
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(varPath)
Ende:
End Sub
otto

Anzeige
AW: Fehlermeldung bei Makro-Abbruch vermeiden
19.02.2016 10:48:10
Markus
Hallo Otto,
vielen Dank für die schnelle Hilfe - das klappt super ! :)
VG,
Markus

AW: Fehlermeldung bei Makro-Abbruch vermeiden
19.02.2016 12:20:18
Rudi
Hallo,
besser ohne on error
Sub SelectFolder()
Dim varPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show = -1 then
varPath = .SelectedItems(1) & "\"
End If
End With
if varPath  "" Then Call ImportFiles(varPath)
End Sub
Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige