Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

Datei nicht gefunden-Abbruchnachricht

Datei nicht gefunden-Abbruchnachricht
23.03.2009 13:12:43
Rolf
Hallo Leute,
Ich habe untenstehendes Makro:

Private Sub CommandButton7_Click()
Dim Dateiname As String
Dateiname = InputBox("Bitte prüfen Sie den Namen der Referenzliste," & vbCr & "oder geben Sie  _
den richtigen Namen unten ein:" & vbCr & "(Bsp.: Referenzliste_für_Berichtmanager_27.08.08.xlt)", "LISTE LADEN", "Referenzliste_für_Berichtmanager_" & Date & ".xlt")
'FALLS ANWENDER AUF ABBRECHEN GEDRÜCKT HAT
If Dateiname = "" Then
strTxt = "Sie haben den Vorgang abgebrochen. Die Daten wurden nicht Importiert!"
MsgBox strTxt, vbCritical
Exit Sub
End If
ChDir _
"N:\Verkauf\Verkauf-Info\Referenzlisten\01_Referenzliste_ab_2000_Berichtmanager"
Workbooks.Open Filename:= _
"N:\Verkauf\Verkauf-Info\Referenzlisten\01_Referenzliste_ab_2000_Berichtmanager\" &  _
Dateiname
Cells.Select
Selection.Copy
Windows("Berichtmanager.xls").Activate
Cells.Select
ActiveSheet.Paste
Range("A2").Select
Windows("" & Dateiname & "").Activate
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub


Das funktioniert soweit. Main Problem liegt in der folgenden Situation:
Wird in das Inputfeld ein Name eingegeben, den es nicht gibt, bricht das Makro ab (Laufzeitfehler).
Wie kann ich das beheben?
Gruss
Rolf

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei nicht gefunden-Abbruchnachricht
23.03.2009 13:18:32
Ramses
Hallo
....
If Dir(Workbooks.Open Filename:= "N:\Verkauf\Verkauf-Info\Referenzlisten\01_Referenzliste_ab_2000_Berichtmanager\" & Dateiname) = "" then
Msgbox "Datei existiert nicht"
Exit sub
Endif
Workbooks.Open ....
Warum nimmst du nicht den FileDialog (GetOpenFilename) wo der Anwender die Datei zum öffnen auswählen muss ? Das ist doch sicherer.
Gruss Rainer
AW: Datei nicht gefunden-Abbruchnachricht
23.03.2009 13:23:11
Rolf
Hi Ramses
Wäre natürlich schön mit GetOpenFilename!
Aber mit meinen bescheidenen VBA Kentnissen... Kannst du mir da noch ein klein wenig "auf den Sprung" helfen?
Danke vorerst
Rolf
Anzeige
AW: Datei nicht gefunden-Abbruchnachricht
23.03.2009 13:34:34
D.Saster
Hallo,
Ansatz:

Sub OpenFile()
Dim DateiName As String
With Application.FileDialog(3)
.AllowMultiSelect = False
.InitialFileName = "n:\test\*.xls"
.InitialView = 2
.Title = "Bitte Datei wählen"
If .Show = -1 Then
DateiName = .SelectedItems(1)
End If
End With
If DateiName = "" Then
MsgBox "Abbruch", , "Abbruch"
Exit Sub
End If
Workbooks.Open DateiName
End Sub


Gruß
Dierk

AW: Datei nicht gefunden-Abbruchnachricht
23.03.2009 14:02:30
Rolf
Hallo D. Saster
Damit kann ich arbeiten! Habe gearbeitet wie folgt:

Private Sub CommandButton7_Click()
Dim DateiName As String
With Application.FileDialog(3)
.AllowMultiSelect = False
.InitialFileName = "N:\Verkauf\Verkauf-Info\Referenzlisten\ _
01_Referenzliste_ab_2000_Berichtmanager"
.InitialView = 2
.Title = "LISTE LADEN"
If .Show = -1 Then
DateiName = .SelectedItems(1)
End If
End With
If DateiName = "" Then
strTxt = "Sie haben den Vorgang abgebrochen. Die Daten wurden nicht Importiert!"
MsgBox strTxt, vbCritical
Exit Sub
End If
Workbooks.Open DateiName
Cells.Select
Selection.Copy
Windows("Berichtmanager 2.0.xls").Activate
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Windows("" & DateiName & "").Activate
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub


Ein Teil funktioniert noch nicht:
Windows("" & DateiName & "").Activate
Dort setzt er nun den gesamten Pfad ein. Ich bräuchte da aber nur den Namen der Datei, damit ich sie nach dem Kopieren automatisch schliessen kann. Oder gibt's da 'ne eleganteere Lösung?
Danke für die grosse Hilfe!
Rolf

Anzeige
AW: Datei nicht gefunden-Abbruchnachricht
23.03.2009 14:22:38
D.Saster
Hallo,
verzichte auf Select und Activate.

Private Sub CommandButton7_Click()
Dim DateiName As String, wkbListe As Workbook
Dim wksAktuell As Worksheet
Const strTxt = "Sie haben den Vorgang abgebrochen. Die Daten wurden nicht Importiert!"
Set wksAktuell = ActiveSheet
With Application.FileDialog(3)
.AllowMultiSelect = False
.InitialFileName = "N:\Verkauf\Verkauf-Info\Referenzlisten\ _
01_Referenzliste_ab_2000_Berichtmanager"
.InitialView = 2
.Title = "LISTE LADEN"
If .Show = -1 Then
DateiName = .SelectedItems(1)
End If
End With
If DateiName = "" Then
MsgBox strTxt, vbCritical
Exit Sub
End If
Set wkbListe = Workbooks.Open(DateiName)
Cells.Copy
wksAktuell.Cells.PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
wkbListe.Close False
End Sub


Gruß
Dierk

Anzeige
Und er leif durch die Strassen und rief "Heureka!"
23.03.2009 15:40:25
Rolf
Hallo Dierk
Entgegen deinem Alias funktioniert es. Danke für die Hilfe und das rausnehmen der Selects und Activates. (Ist, wie gedacht, die elegantere Lösung)
Also nochmals Merci und Gruss
Rolf

36 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige