AW: Export_Speichern ins andere Ecel_Arbeitsblatt
25.11.2006 17:15:29
fcs
Hallo William,
hier 2 Makro-Varianten für die Speicherung der Eingabedaten in einer Datei.
Die 1. Variante überträgt nur die Werte
Die 2. Variante kopiert jeewils die Zellen des Eingabebereichs in die Sicherunsdatei.
Ich bin bei meinem Makro davon ausgegenagen, dass die Spalte "C" (Masch) bei allen Eingaben ausgefüllt wird.
Die Spalte C wird benutzt, um die nächste frei Zeile in der Export-Tabelle zu bestimmen. ggf. hier eine andere Spalte festlegen.
Gruss
Franz
Sub Eingabe_Exportieren1()
'Überträgt die Werte im Eingabebereich in die Sicherungsdatei
'Alle Formate müssen in der Sicherungsdatei festgelegt werden
Dim wbThis As Workbook, wbExport As Workbook, rngEingabe As Range
Dim wksEingabe As Worksheet, wksExport As Worksheet, ZeileExport As Long
Set wbThis = ThisWorkbook
Set wksEingabe = wbThis.Worksheets("Tabelle1") 'Tabelle mit den Eingabedaten
Set rngEingabe = wksEingabe.Range("A2:AN4") 'Bereich mit den Eingabedaten
Application.ScreenUpdating = False
'Sicherungs-Datei öffnen
Set wbExport = Workbooks.Open("C:\Test\TestExport.xls") 'Datei in die exportiert/gesichert werden soll
Set wksExport = wbExport.Worksheets("Tabelle1") 'Tabelle in die Daten exportiert/gesichert werden sollen
'Daten übertragen
With wksExport
'Nächste freie Zeile bestimmen (Annahme: In Spalte C werden immer Eingaben gemacht)
ZeileExport = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
'Daten übertragen
.Cells(ZeileExport, "A").Range("A1:AN3").Value = rngEingabe.Value
End With
'Sicherungsdatei speichern und schliessen
wbExport.Close savechanges:=True
Application.ScreenUpdating = True
'Inhalte im Eingabebereich löschen
rngEingabe.ClearContents
End Sub
Sub Eingabe_Exportieren2()
'Kopiert die Zellen im Eingabebereich in die Sicherungsdatei
Dim wbThis As Workbook, wbExport As Workbook, rngEingabe As Range
Dim wksEingabe As Worksheet, wksExport As Worksheet, ZeileExport As Long
Set wbThis = ThisWorkbook
Set wksEingabe = wbThis.Worksheets("Tabelle1") 'Tabelle mit den Eingabedaten
Set rngEingabe = wksEingabe.Range("A2:AN4") 'Bereich mit den Eingabedaten
Application.ScreenUpdating = False
'Sicherungs-Datei öffnen
Set wbExport = Workbooks.Open("C:\Test\TestExport.xls") 'Datei in die exportiert/gesichert werden soll
Set wksExport = wbExport.Worksheets("Tabelle1") 'Tabelle in die Daten exportiert/gesichert werden sollen
'Daten übertragen
With wksExport
'Nächste freie Zeile bestimmen (Annahme: In Spalte C werden immer Eingaben gemacht)
ZeileExport = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
'Daten kopieren
rngEingabe.Copy .Cells(ZeileExport, "A")
Application.CutCopyMode = False
End With
'Sicherungsdatei speichern und schliessen
wbExport.Close savechanges:=True
'Inhalte im Eingabebereich löschen
Application.ScreenUpdating = False
rngEingabe.ClearContents
End Sub