Clever-Excel-Forum

Normale Version: Daten in andere Tabelle übernehmen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen,

folgende Thematik:

Ich habe in Tabelle 1 ein Formular erstellt welches von dem Benutzer ausgefüllt wird. mit jeder Speicherung wird in B3 eine neue zahl generiert.
jetzt möchte ich die daten aus Tabelle 1 (B3 - B8) in Tabelle 3 schreiben und bei jeder Speicherung soll eine neue Zeile mit den eingegebenen daten (B3 - B8) aus Tabelle 1 erstell werden

[attachment=46902]



Danke

Gruß
Hallo,

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  With Worksheets("Tabelle1").Range("B3:B8")
    Worksheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6).Value = Application.Transpose(.Value)
    .Value = ""
  End With
End Sub

Gruß Uwe
Hallo Uwe,

vielen Dank für die schnelle Antwort aber irgendwie funktioniert es nicht.

habe es hier noch mal eingefügt wie ich es mir vorstelle.
bei jedem speichern werden dann die daten aus Tabelle 1 in Tabelle 3 in eine neue Zeile geschrieben
Hallo,

genau das macht mein Vorschlag.

Gruß Uwe
Hallo Uwe,

sorry wenn ich nochmal nachfragen muss..
aber es funktioniert einfach nicht Sad

Was mache ich falsch?


Gruß
Hi,

(07.02.2023, 09:14)Sascha1986 schrieb: [ -> ]Was mache ich falsch?

1. hast du Bilder statt einer Datei hochgeladen.
2. hast du nicht beschrieben, was genau du gemacht hast
3. hast du den Code nicht unter "DieseArbeitsmappe" eingefügt
4. hast du nicht gesagt, dass mit "Speichern" nicht das Speichern der Mappe, sondern das Speichern der eingegebenen Daten in Tabelle2 gemeint ist

Wobei Punkt 4 nur Spekulation ist.
Und wenn du dich fragen solltest, wieso dein Workbook_Open nicht funktioniert: Auch das gehört in DieseArbeitsmappe.
Also in der Anlage die Datei

D.H. bei jedem öffnen der Datei wird in B3 wird eine fortlaufende Zahl automatisch geschrieben das soll so auch bleiben.
B4 - B7 werden daten händisch eingeschrieben und wenn ich die Datei abspeicher sollen diese Daten in Tabelle 3 geschrieben werden.

Ist es jetzt verständlich?
Hi,

wie gesagt: der Code von Uwe gehört in DieseArbeitsmappe.

Und dann solltest du eventuell statt .Value="" besser .Offset(1).Value="" verwenden. Sonst löscht es dir auch noch die Paletten-Nr.

Überhaupt würde ich die Palettennummer nicht beim Open sondern beim Save erhöhen. Also Das Workbook_Open komplett löschen und das Workbook_BeforeSave so schreiben:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Tabelle1
    .Range("B8") = Date
    Tabelle3.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Application.Transpose(.Range("B3:B8"))
    .Range("B3") = Range("B3") + 1
    .Range("B4:B8").ClearContents
End With
End Sub