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

Import/ Export

Import/ Export
22.12.2006 21:06:40
Uwe
Hallo ,
Matthias hat mir letzte Woche schon recht weit mit der Exportfunktion geholfen, so dass ich selbst versucht habe eine Importfunktion zu programmieren. Hierbei muss ich jedoch einen festen Namen beim Export definieren. Zumindest kann ich verschiedene Ordner auswählen. Die Vergabe eines festen Namens ermöglicht, dass ich zwischen den Dateien wechseln kann und aus der Auslagerungsdatei nur bestimmte Bereiche wieder in die Ursprungsdatei importieren kann.
In meinem Fall brauche ich jedoch eine Importfunktion, die unabhängig vom Namen funktioniert, d.h. dass der Name frei wählbar ist.
Tabelle 1 (Name1) und 7 Name7)sollen aus meinem Tool exportiert werden. Hier muss kein Bereich definiert werden.
Beim Import hingegen dürfen nur bestimmte Bereiche aus der ausgelagerten Datei importiert werden.
Wie gesagt, unten stehende Makros funktionieren, wenn ich beim Export und beim Import von festen Dateinamen ausgehen. Ich brauche jedoch die Möglichkeit, dass ich unabhängig vom Dateinamen die entsprechenden Bereiche importieren kann.
Ich hoffe, Ihr habt einen Tip für mich.
Anbei nochmals die Makros:
Option Explicit

Sub Exportieren()
Dim fn As String
Dim wb_dest As Workbook, wb_new As Workbook
'Dateiname abfragen
fn = Application.GetSaveAsFilename(InitialFilename:="Auslagerung.xls", _
fileFilter:="Excel-Arbeitsmappe (*.xls), *.xls")
'Blätter in neue Mappe kopieren:
Application.ScreenUpdating = False
Set wb_dest = ActiveWorkbook
Sheets(Array("Tabelle1", "Tabelle7")).Copy
With ActiveWorkbook
.SaveAs Filename:=fn
.Close
End With
Application.ScreenUpdating = True
End Sub


Sub importieren()
Dim fn As String
'Dateiname abfragen
fn = Application.GetOpenFilename(fileFilter:="Excel-Arbeitsmappe (*.xls), *.xls")
'Blätter/ Bereiche in Quelldatei kopieren:
Application.ScreenUpdating = False
Workbooks.Open ("Auslagerung.xls")
Windows("Auslagerung.xls").Activate 'Auslagerungsdatei
Sheets("Tabelle1").Select
Range("C12:H36").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Transfer.xls").Activate 'Quelldatei/ Tool
Sheets("Tabelle1").Select
Range("C12:H36").Select
ActiveSheet.Paste
Windows("Auslagerung.xls").Activate
Sheets("Tabelle7").Select
Range("C8:H25").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Transfer.xls").Activate
Sheets("Tabelle7").Select
Range("C8:H25").Select
ActiveSheet.Paste
MsgBox "Die Daten wurden erfolgreich Importiert!"
End Sub

Grüße
Uwe

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Import/ Export
23.12.2006 01:00:59
fcs
Hallo Uwe,
habe mal versucht deine Wümsche umzusetzen. Beim Speichern der neuen Auslagerungsdatei wird jetzt der allgemeine Speichern-unter-Dialog angezeigt.
Beim Importieren habe ich den Variablen-Namen der gewählten Datei an den entsprechenden Stellen eingesetzt. Außerdem hab ich die Kopier-Befehlszeilen radikal eingekürzt.
Alles ungetestet. Hoffe das klappt.
Gruss
Franz

Option Explicit
Sub Exportieren()
Dim wb_dest As Workbook, wb_new As Workbook
'Blätter in neue Mappe kopieren:
Application.ScreenUpdating = False
Set wb_dest = ActiveWorkbook
Sheets(Array("Tabelle1", "Tabelle7")).Copy
Set wb_new = ActiveWorkbook
Application.Dialogs(xlDialogSaveAs).Show
If wb_new.Saved = True Then
wb_new.Close
wb_dest.Activate
Else
MsgBox "Die Auslagerungsdatei wurde noch nicht gespeichert!"
End If
Application.ScreenUpdating = True
End Sub
Sub importieren()
Dim fn As String
Dim wbTrans As Workbook, wbAus As Workbook
Set wbTrans = Workbooks("Transfer.xls")
'Dateiname abfragen
fn = Application.GetOpenFilename(fileFilter:="Excel-Arbeitsmappe (*.xls), *.xls")
If fn = False Then Exit Sub 'Abbrechen geklickt
'Blätter/ Bereiche in Quelldatei kopieren:
Application.ScreenUpdating = False
Set wbAus = Workbooks.Open(fn)
wbAus.Sheets("Tabelle1").Range("C12:H36").Copy wbTrans.Sheets("Tabelle1").Range("C12:H36")
wbAus.Sheets("Tabelle7").Range("C8:H25").Copy wbTrans.Sheets("Tabelle7").Range("C8:H25")
wbAus.Close
wbTrans.Activate
MsgBox "Die Daten wurden erfolgreich Importiert!"
End Sub

Anzeige
AW: Import/ Export
23.12.2006 20:58:20
Uwe
Hallo Franz,
der Export klappt, beim Import erhalte ich eine Fehlermeldung. Ich habe die Exceldatei eingestellt.
https://www.herber.de/bbs/user/39175.xls
Vielleicht kannst du nochmal bei Gelegenheit drübergucken. Ich habe schon vergebens versucht das Makro umzustellen. Mit fehlen jedoch die Kenntnisse.
Beim Exportieren werden die Schaltflächen mit kopiert. Gibt es eine Möglichkeit, dieses auf beiden Tabellenblättern zu unterdrücken?
Vielen Dank schon mal und schöne Feiertage
Grüße
Uwe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige