Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblatt über Dialog zur Arbeitsmappe

Tabellenblatt über Dialog zur Arbeitsmappe
Christoph
Hallo Leute,
Ich will über einen "Datei öffnen" Dialog das erste Tabellenblatt aus einer ausgewählten Excel-Datei zu meiner aktuellen Arbeitsmappe hinzufügen. Ich habe dieses Makro dass funktioniert. Das Problem: wenn ich auf den "Abbrechen"-Button klicke kommt ein Laufzeitfehler.
Muss ich den Fehler abfangen oder sowas?
Wer kann mir weiterhelfen?
Vielen Dank schonmal,
Christoph
___________________________________________

Sub BCAd()
Dim Dateiname As String
Dateiname = Application.GetOpenFilename("Excel-Dateien (*.xls), .xls")
If Dateiname = vbNullString Then Exit Sub
Workbooks.Open Filename:=Dateiname
Dateiname = ActiveWorkbook.Name
Worksheets(1).Copy after:=Workbooks("MeineDatei.xls").Worksheets _(Worksheets.Count)
Workbooks(Dateiname).Close savechanges = False
End Sub

AW: Tabellenblatt über Dialog zur Arbeitsmappe
Ramses
Hallo
ändere die Zeile in
If Dateiname = False Then Exit Sub
Dann klappt's auch mit dem "Abbrechen"-Knöpfchen :-)
Gruss Rainer
AW: Tabellenblatt über Dialog zur Arbeitsmappe
K.Rola
Hallo Rainer, dann muss die Variable aber auch ein Variant sein!
Gruß K.Rola
AW: Tabellenblatt über Dialog zur Arbeitsmappe
Ramses
Hallo K.Rola,
eben nicht,... Der Dateiname lautet dann "Falsch.xls" ;-))
Zumindest bei mir in XP und 2003 ;-)
Gruss Rainer
AW: Tabellenblatt über Dialog zur Arbeitsmappe
K.Rola
Hallo Rainer,
wie soll das gehen? Ich kann dir da nicht folgen.
gruß K,Rola
AW: Tabellenblatt über Dialog zur Arbeitsmappe
Ramses
Hallo
Der Rückgabewert aus diesem Dialog ist "Falsch" wenn du auf "Abbrechen" klickst.
Mach mal einen Haltepunkt bei
Workbooks.Open Dateiname
und schau mal was die Variable beinhaltet, wenn du im Dialog auf Abbrechen klickst ;-)
Gruss Rainer
Anzeige
AW: Tabellenblatt über Dialog zur Arbeitsmappe
K.Rola
Hallo Rainer,
ich weiß, dass der Rückgabewert ein Boolean ist, wenn abgebrochen wird.
Da hinterher aber folgt: If DName = False Then exit sub, wie soll
da eine Falsch.xls entstehen?
Gruß K.Rola
AW: Tabellenblatt über Dialog zur Arbeitsmappe
Ramses
Hallo K.Rola
Wenn die Abfrage lautet
If DateiName = vbNullString...
läuft es nicht, weil es kein Nullstring ist sondern eben "Falsch" als String übergeben wird,... und EXCEL in seiner unerschöpflichen Weisheit versucht eine XLS-Datei zu öffnen die da heisst "Falsch.xls" :-))
Der Laufzeitfehler der hierbei ensteht, lautet "Die Datei ""Falsch.xls"" kann nicht geöffnet werden." Deshalb bin ich drauf gekommen. Ist mir auch erst heute abend aufgefallen. Probiers mal aus ;-)
Gruss Rainer
Anzeige
AW: Tabellenblatt über Dialog zur Arbeitsmappe
K.Rola
Hallo Rainer,
doch aber nur, wenn der Dateiname as String deklariert ist, wenn
er Variant ist passiert das nicht.
Gruß K.Rola
Geht auch bei Variant - Deklaration :-)
Ramses
Hallo K.Rola
wenn du mit vbNullString arbeitest in der Abfrage hat es auch nicht hin.
Excel versucht dann wieder die "Falsch.xls" zu öffnen :-))
Gruss Rainer
AW: Geht auch bei Variant - Deklaration :-)
K.Rola
Hallo Rainer,
ich glaube fast, wir posten aneinander vorbei, ich hab doch gar nichts am Hut
mit VbNullstring.
If Dateiname = False then exit sub
und Dateiname as variant
Gruß K.Rola
Sorry,... :-)) das habe ich dann wirklich ...
Ramses
Hallo K.Rola
... falsch verstanden :-)
Tut mir leid ;-)
Gruss Rainer
Anzeige
AW: Aber du hast...
Matthias
...einen witzige Excel-Bug (ist es denn einer?) gefunden. :-)) Und euer Dialog war echt witzig - deshalb liebe ich dieses Forum!
Grüße,
Matthias
AW: Aber du hast...
K.Rola
Hallo,
das ist kein Bug. Wenn die Variable als String deklariert ist und
abbrechen geklickt wird, gibt die Funktion False zurück. Durch die
implizte Typumwandlung macht VBA ein "Falsch" daraus. Kannst du dir
im Local- Fenster sehr schön ansehen.
Gruß K.Rola

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige