Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

GetOpenFilename --> Abbrechen

GetOpenFilename --> Abbrechen
22.04.2016 13:37:01
Christian
Hallo,
ich habe in einem Maakro einen Dateiimport verbaut.
Es funktioniert alles soweit.
Wenn aber der Import abgebrochen wird (also die Dateiauswahl) dann bekomme ich einen Fehler.
Was kann ich machen, damit beim Abbruch einfach das Makro beendet wird?
Private Sub cmd_import_Click()
Dim rng As Range
Dim pfad As String
Dim pfadlaenge As Integer
Dim datei As String
Dim dateilaenge As Integer
Dim blatt As String
Dim i As Double
Application.ScreenUpdating = False
blatt = "Tabelle1"
  pfad = Application.GetOpenFilename("Excel (*.xls), *.xls")
pfadlaenge = Len(pfad)
datei = Right(pfad, InStr(1, StrReverse(pfad), "\") - 1)
dateilaenge = Len(datei)
pfad = Left(pfad, pfadlaenge - dateilaenge)
ActiveSheet.Range("A2:K20000").Select
Selection.Delete
Call Hole_Daten("A2:A20000", "='" & pfad & "[" & datei & "]" & blatt & "'!A2:A20000")
Call Hole_Daten("B2:B20000", "='" & pfad & "[" & datei & "]" & blatt & "'!B2:B20000")
Call Hole_Daten("C2:C20000", "='" & pfad & "[" & datei & "]" & blatt & "'!C2:C20000")
Call Hole_Daten("D2:D20000", "='" & pfad & "[" & datei & "]" & blatt & "'!D2:D20000")
Call Hole_Daten("E2:E20000", "='" & pfad & "[" & datei & "]" & blatt & "'!E2:E20000")
Call Hole_Daten("F2:F20000", "='" & pfad & "[" & datei & "]" & blatt & "'!F2:F20000")
Call Hole_Daten("G2:G20000", "='" & pfad & "[" & datei & "]" & blatt & "'!G2:G20000")
Call Hole_Daten("H2:H20000", "='" & pfad & "[" & datei & "]" & blatt & "'!H2:H20000")
Call Hole_Daten("I2:I20000", "='" & pfad & "[" & datei & "]" & blatt & "'!I2:I20000")
Call Hole_Daten("J2:J20000", "='" & pfad & "[" & datei & "]" & blatt & "'!J2:J20000")
Call Hole_Daten("K2:K20000", "='" & pfad & "[" & datei & "]" & blatt & "'!K2:K20000")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) = 0 Then
Rows("" & i & ":1048576").Delete
Exit For
End If
Next
On Error Resume Next
For Each rng In Range("G2:K20000")
If rng.Value = "0" Then rng.ClearContents
Next
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: GetOpenFilename --> Abbrechen
22.04.2016 13:49:45
Daniel
Hi
pfad = Application.getopenfilename(...)
if not pfad like "*.xls" then Exit sub
Gruß Daniel

AW: GetOpenFilename --> Abbrechen
22.04.2016 16:47:44
Werner
Hallo Daniel,
ich wollte jetzt nicht nach Stunden eine weitere Version bringen, denn deine funktioniert ja. Ich habe aber eine Frage zu meiner Version. Spricht etwas gegen diese Art? Ich dachte, dass es so einfacher wird, wenn z.B. mehrere Dateiendungen vorgegeben wären.
If pfad = "Falsch" Then Exit Sub
Gruß vom Mitleser
Werner

AW: GetOpenFilename --> Abbrechen
25.04.2016 08:49:39
ChrisL
Hi Werner
Ich denke der Nachteil ist, dass diese Version nicht sprachunabhängig ist und z.B. auf einem englischsprachigen Rechner nicht funktioniert. Dann würde ich eher als Variant deklarieren
If pfad = False Then Exit Sub
cu
Chris

Anzeige
AW: GetOpenFilename --> Abbrechen
25.04.2016 09:26:50
Werner
Hallo Chris,
danke für den Hinweis.
Gruß Werner

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige