Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1284to1288
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
Zeilen von Mappe1 in Mappe2 anfügen
23.11.2012 10:37:06
Mappe1
Hallo,
ich möchte Datensätze aus Mappe1 (im Pfad1) in eine Mappe2, (Pfad2) übertragen bzw. anhängen und dann Mappe1 unter einem bestimmten Dateinamen abspeichern.
In Mappe1, Tabelle1 ist ein Formular aufgebaut und geöffnet. Aus diesen Zellinhalten erzeuge ich in Tabelle3 einen einzeiligen Satz und in Tabelle4 ein zweizeiligen Satz (plus jeweils Überschriften in Zeile1). Ich möchte nun mit einem commandbutton erreichen, dass zunächst drei Variableninhalte fixiert werden: username, Date (TT.MM.JJJJ) und Time (hh.mm.ss) und diese drei Inhalte dann in B2,C2,D2 (bei Tabelle3) bzw. beim zweizeiligen Satz in B2, C2,D2 und B3,C3,D3 (Tabelle4) vorher ergänzt werden. Der eine Satz bzw. die beiden Sätze sollen nun nach Mappe2 übertragen werden. Mappe2 wird geöffnet, die Zeile 2 (aus Mappe1, Tabelle3) kopiert und mit ihren Werten nach Mappe2, Pfad2, Tabelle1 (einzeilig) in die nächste freie Zeile übertragen. Gleiches dann für die beiden Zeilen (Zeile 2 und 3) aus Tabelle4. Auch diese beiden Sätze sollen nach Mappe2, jetzt nach Tabelle2 (mit ihren Werten) übertragen werden (auch in die nächste freie Zeile).
Mappe2 wird unter gleichem Namen wieder gespeichert und geschlossen. Mappe1 hingegen soll im Pfad1 unter dem Dateinamen (Wert) abgespeichert werden, der in Tabelle1, Zelle A50 steht.
Wer könnte mir zu diesem theoretischen Ansatz etwas praktische Unterstützung geben?
Vielen Dank im Voraus.
Grüße, Constantin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen von Mappe1 in Mappe2 anfügen
24.11.2012 07:00:25
Mappe1
Hallo Constantin,
hier das Grundgerüst für ein solches Makro.
Falls in den zu kopierenden Zellen in Tabelle3/Tabelle4 Formeln stehen, dann muss das Kopieren der Daten noch etwas modifiziert werden (nur Werte oder Werte+Formate einfügen).
Gruß
Franz
Sub DatenSpeichern()
Dim wbk_1 As Workbook
Dim wks_3 As Worksheet, wks_4 As Worksheet
Dim wbk_2 As Workbook
Dim strUserName As String, datDatum As Date, datTime As Date
Dim strFileNameNew As String
Dim lngZeile As Long, StatusCalc As Long
Const strMappe2 As String = "C:\Users\Public\Test\ConstantinMappe2.xlsx" 'Anpassen !!!
If MsgBox("Daten jetzt in Datei """ & strMappe2 & """ speichern?", _
vbQuestion + vbOKCancel, "Daten speichern") = vbCancel Then Exit Sub
strUserName = VBA.Environ("Username")
datDatum = VBA.Date
datTime = VBA.Time
'Makro Bremsen lösen
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.EnableEvents = False
End With
'Objekte in aktiver Arbeitsmappe setzen
Set wbk_1 = ActiveWorkbook 'Aktive Arbeitsmappe mit dem Formular
Set wks_3 = wbk_1.Worksheets(3) '= wbk_1.Worksheets("Tabelle3")
Set wks_4 = wbk_1.Worksheets(4) '= wbk_1.Worksheets("Tabelle4")
'Username, Datum und Zeit eintragen
With wks_3
.Cells(2, 2).Value = strUserName
.Cells(2, 3).Value = datDatum
.Cells(2, 4).Value = datTime
End With
With wks_4
.Range(.Cells(2, 2), .Cells(3, 2)).Value = strUserName
.Range(.Cells(2, 3), .Cells(3, 3)).Value = datDatum
.Range(.Cells(2, 4), .Cells(3, 4)).Value = datTime
End With
'Zieldatei (Mappe2) öffnen
Set wbk_2 = Application.Workbooks.Open(Filename:=strMappe2)
'Werte nach Tabelle1 kopieren
With wbk_2.Worksheets(1) 'wbk_2.Worksheets("Tabelle1")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_3.Range("A2:D2").Copy Destination:=.Cells(lngZeile + 1, 1)
End With
'Werte nach Tabelle2 kopieren
With wbk_2.Worksheets(2) 'wbk_2.Worksheets("Tabelle2")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_4.Range("A2:D3").Copy Destination:=.Cells(lngZeile + 1, 1)
End With
'Mappe2 speichern und schliessen
wbk_2.Close savechanges:=True
'Mappe 1 unter neuem Namen speichern
With wbk_1
strFileNameNew = .Path & Application.PathSeparator & .Worksheets(1).Range("A50")
.SaveAs Filename:=strFileNameNew
End With
'Objekt-Variablen zurücksetzen
Set wbk_2 = Nothing
Set wbk_1 = Nothing: Set wks_3 = Nothing: Set wks_4 = Nothing
'Makro Bremsen zurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
.EnableEvents = True
End With
End Sub

Anzeige
...perfekt; mit Values + formats noch möglich?
24.11.2012 12:13:46
Constantin
Hallo Franz,
vielen Dank! Das Programm läuft perfekt. Könntest Du mir noch sagen, wie ich es mit "Werte + Formate" beim Übertragen abändern müsste (wegen der Formeln in den zu kopierenden Zeilen)?
Grüße, Constantin

AW: ...perfekt; mit Values + formats noch möglich?
24.11.2012 13:13:42
Constantin
Hallo Franz,
... ups, meine Rückmeldung schien irgendwie nicht als Antwort erkennbar geworden zu sein. Also, vielen Dank nochmal!
Wie würde der copy-Befehl nach Mappe2 abzuändern sein, damit "Werte + Formate" übertragen werden (zu kopierende Zeilen enthalten Formeln)?
Grüße, Constantin

Wert und Format
24.11.2012 13:21:00
Hajo_Zi
Hallo Constantin,
in Deinem Beitrag sieht man nicht den Codevorschlag, darum kann man darauf nicht eingehen.
Sub Werte_Format()
'   Formeln ersetzen durch Werte mit Formate
'    Workbooks("Datei1.xls").Worksheets("Tabelle1").Range(Sheets("Tabelle1").UsedRange.Address). _
Copy
' Vorschlag Verbesserrung NoNet
Workbooks("Datei1.xls").Worksheets("Tabelle1").UsedRange.Copy
With Workbooks("Datei2.xls").Worksheets("Tabelle1").Range("A1")
.PasteSpecial Paste:=xlValues       ' Werte
.PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False

Anzeige
AW: Wert und Format
24.11.2012 15:13:54
Constantin
Hallo Hajo,
wie müsste es aussehen, wenn ich diese Ergänzung (nur Werte und Formate) in diesen Programmauszug (von Franz) reinbringen möchte?
'Zieldatei (Mappe2) öffnen
Set wbk_2 = Application.Workbooks.Open(Filename:=strMappe2)
'Werte nach Tabelle1 kopieren
With wbk_2.Worksheets(1) 'wbk_2.Worksheets("Tabelle1")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_3.Range("A2:D2").Copy Destination:=.Cells(lngZeile + 1, 1)
End With
'Werte nach Tabelle2 kopieren
With wbk_2.Worksheets(2) 'wbk_2.Worksheets("Tabelle2")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_4.Range("A2:D3").Copy Destination:=.Cells(lngZeile + 1, 1)
End With
Dank und Grüße, Constantin

Anzeige
AW: Wert und Format
24.11.2012 15:26:16
Hajo_Zi
Hallo Constantin,
ungetestet.
Option Explicit
Sub FormnateWerte()
Dim strMappe2 As String
Dim wbk_2 As Workbook
Dim wks_3 As Worksheet
Dim wks_4 As Worksheet
Dim lngZeile  As Long
strMappe2 = "C:\Hallo.xlsm"
Set wks_3 = ActiveSheet
Set wks_4 = ActiveSheet
'Zieldatei (Mappe2) öffnen
Set wbk_2 = Application.Workbooks.Open(Filename:=strMappe2)
'Werte nach Tabelle1 kopieren
With wbk_2.Worksheets(1) 'wbk_2.Worksheets("Tabelle1")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_3.Range("A2:D2").Copy
.Cells(lngZeile + 1, 1).PasteSpecial Paste:=xlValues       ' Werte
.Cells(lngZeile + 1, 1).PasteSpecial Paste:=xlFormats      ' Formate
End With
'Werte nach Tabelle2 kopieren
With wbk_2.Worksheets(2) 'wbk_2.Worksheets("Tabelle2")
'letzte Datenzeile in Zieltabelle
lngZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
'Datenkopieren - Zellbereich ggf. anpassen
wks_4.Range("A2:D3").Copy
.Cells(lngZeile + 1, 1).PasteSpecial Paste:=xlValues       ' Werte
.Cells(lngZeile + 1, 1).PasteSpecial Paste:=xlFormats      ' Formate
End With
Application.CutCopyMode = False
Set wbk_2 = Nothing
Set wks_3 = Nothing
Set wks_4 = Nothing
End Sub

Gruß Hajo

Anzeige
AW: Wert und Format - funktioniert!
24.11.2012 17:38:07
Constantin
... funktioniert perfekt.
Nochmals vielen Dank an euch.
Grüße, Constantin

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige