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

VBA-Daten export. u. importieren aus und in Excel

VBA-Daten export. u. importieren aus und in Excel
16.12.2006 13:14:03
Uwe
Hallo,
ich habe folgendes Problem:
Ich habe eine Exceldatei mit mehreren Tabellenblättern (27). Die Datei ist rd. 3 MB groß. Bestimmte Dateien müssen regelmäßig abgespeichert werden. Speichert man reglmäßig die 3 MB Datei ab, so sprengt das irgendwann die Festplattenkapazität.
Aus diesem Grund sollen lediglich 2 Tabellenblätter separat gespeichert werden. Alle anderen Tabellenblätter sind lediglich mit diesen beiden Tabellenblättern verknüpft, so dass deren Daten in der Exceldatei verbleiben können. Anschließend sollen die ausgelagerten Daten wieder importiert werden. Hierzu habe ich 2 Schaltflächen für VBA-Befehle vorgesehen. Wenn ich den Auslagerungsdateien feste Namen gebe, dann habe ich kein Problem, die Daten zu ex- und zu importieren. Jede Auslagerungsdatei soll jedoch einen anderen Namen erhalten (z.B Auslagerungsdatei 1, 2, 3, etc...). Ich habe mir daher vorgestellt, wie über den Befehl "speichern unter" bzw. "Datei öffnen" die Datenbereiche (Tabelle1: (A1:U300 und Tabelle7: B294:N1500) in den 2 Tabellen zu speichern und später wieder in das Ursprungstool einzufügen.
Ich habe leider recht wenig Ahnung mit der Programierung von Makros. Leichtere Sachen bekomme ich hin, dies übersteigt jedoch meinen Horizont. Dennoch würde ich dies gerne in dem Tool umsetzen. Ich hoffe Ihr könnt mir bei meinem Problem helfen.
Vielen Dank.
Gruß
Uwe

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Daten export. u. importieren aus und in E
16.12.2006 20:24:19
Matthias
Hallo Uwe,
erster Teil (Export):

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

Jetzt hab ich aber erstmal keine Zeit mehr...
Gruß Matthias
Anzeige
AW: VBA-Daten export. u. importieren aus und in E
16.12.2006 21:48:18
Uwe
Hallo Matthias,
vielen Dank. Ich habe versucht, ausgehend von deinem Makro, ein Makro für den Import zu schreiben. Hierbei musste 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.
Besser wäre natürlich ein frei wählbarer Name. Vielleicht kannst du ja das Makro noch ein wenig optimieren. Vielen Dank schon mal.
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 in neue Mappe kopieren:
Application.ScreenUpdating = False
Workbooks.Open ("Auslagerung Gesamtobligo.xls")
Windows("Auslagerung.xls").Activate
Sheets("Tabelle1").Select
Range("C12:H36").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Transfer.xls").Activate
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

Gruß
Uwe
Anzeige
AW: VBA-Daten export. u. importieren aus und in E
16.12.2006 21:51:28
Uwe
Hallo Matthias,
vielen Dank. Ich habe versucht, ausgehend von deinem Makro, ein Makro für den Import zu schreiben. Hierbei musste 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.
Besser wäre natürlich ein frei wählbarer Name. Vielleicht kannst du ja das Makro noch ein wenig optimieren. Vielen Dank schon mal.
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 in neue Mappe kopieren:
Application.ScreenUpdating = False
Workbooks.Open ("Auslagerung Gesamtobligo.xls")
Windows("Auslagerung.xls").Activate
Sheets("Tabelle1").Select
Range("C12:H36").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Transfer.xls").Activate
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

Gruß
Uwe
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge