Supportnet / Forum / Tabellenkalkulation
Eingabe in andere Zelle exportieren und fortlaufend eintragen ?
Frage
Hallo ihr Excel-Gurus,
gibt es eine Möglichkeit in Excel in einem Eingabefeld ein Datum einzugeben, so dass dies in einer anderen Tabellenzelle (oder Blatt) erscheint.
Und, nun kommts, dass jedes neue Datum, das in der Eingabe gemacht wird, direkt darunter in die nächste Zelle geschrieben wird.
Danke für die Hilfe
Jochen
Antwort 1 von dein_shrink
Hi,
ein Excel-Guru bin ich sicher nicht. Vielleicht verstehe ich nur deshalb deine Frage nicht oder hab einfach ein Brett vorm Kopf.
Willst du erreichen,
Könntest du mal bitte ein Beispiel nennen?
Gruß
ShrinK
ein Excel-Guru bin ich sicher nicht. Vielleicht verstehe ich nur deshalb deine Frage nicht oder hab einfach ein Brett vorm Kopf.
Willst du erreichen,
Zitat:
dass jedes neue Datum, das in der Eingabe gemacht wird, direkt darunter in die nächste Zelle geschrieben wird.
oder willst du das vermeiden? Wo soll das "neue Datum" denn hin und mit welchem Ziel?dass jedes neue Datum, das in der Eingabe gemacht wird, direkt darunter in die nächste Zelle geschrieben wird.
Könntest du mal bitte ein Beispiel nennen?
Gruß
ShrinK
Antwort 2 von 090365
Also optimal wäre wenn jedes neue Datum in Tabelle1 aus Zelle A1 in Tabelle2 in Zelle A1, A 2 ... geschrieben würde.
Also =Tabelle1!A1, dann =Tabelle1!A2, dann =Tabelle1!A3 und so weiter.
Habe keine Ahnung wie man so etwas automatisch definieren könnte.
Hoffentlich habe ich mich jetzt klarer ausgedrückt.
Jochen
Also =Tabelle1!A1, dann =Tabelle1!A2, dann =Tabelle1!A3 und so weiter.
Habe keine Ahnung wie man so etwas automatisch definieren könnte.
Hoffentlich habe ich mich jetzt klarer ausgedrückt.
Jochen
Antwort 3 von coros
Moin Jochen,
da Du nur schreibst, wenn ein neues Datum in Zelle A1 geschrieben wird, nicht aber was Du unter einemneuen Datum verstehst, kommen nachfolgend zwei VBA Code. Kopiere je nach dem welches Du benutzen möchtest, in das VBA Projekt der Tabelle, in dem Du das Datum eingibst.
1. Code
Bei dem Code wird immer wenn Du ein Datum in Blatt "Tabelle1" Zelle A1 eingibst, das Datum in die nächste freie Zeile in Tabelle2 Spalte A kopiert.
2. Code
Bei dem Code wird das Datum aus Tabellenblatt "Tabelle1" Zelle A1 kopiert und in Blatt "Tabelle2" in die erste freie Zeile in Spalte A eingefügt, wenn sich das Datum geändert hat. Ist es das gleiche Datum wie das letzte Datum in Blatt "Tabelle2", dann wird das Datum nicht kopiert.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen zu dem Code, oder wenn nicht das richtige dabei war, melde Dich. Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in Anleitung zum VBA Projekt “Tabelle" nach. Dort findest Du eine bebilderte Anleitung, die Dir helfen sollte.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
da Du nur schreibst, wenn ein neues Datum in Zelle A1 geschrieben wird, nicht aber was Du unter einemneuen Datum verstehst, kommen nachfolgend zwei VBA Code. Kopiere je nach dem welches Du benutzen möchtest, in das VBA Projekt der Tabelle, in dem Du das Datum eingibst.
1. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("A1")
Zeile = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$A$1" Then
Sheets("Tabelle2").Cells(Zeile, 1) = CDate(Datum)
End If
End SubBei dem Code wird immer wenn Du ein Datum in Blatt "Tabelle1" Zelle A1 eingibst, das Datum in die nächste freie Zeile in Tabelle2 Spalte A kopiert.
2. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("A1")
Zeile = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$A$1" Then
If Sheets("Tabelle2").Cells(Zeile - 1, 1) <> Datum Then
Sheets("Tabelle2").Cells(Zeile, 1) = CDate(Datum)
End If
End If
End SubBei dem Code wird das Datum aus Tabellenblatt "Tabelle1" Zelle A1 kopiert und in Blatt "Tabelle2" in die erste freie Zeile in Spalte A eingefügt, wenn sich das Datum geändert hat. Ist es das gleiche Datum wie das letzte Datum in Blatt "Tabelle2", dann wird das Datum nicht kopiert.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen zu dem Code, oder wenn nicht das richtige dabei war, melde Dich. Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in Anleitung zum VBA Projekt “Tabelle" nach. Dort findest Du eine bebilderte Anleitung, die Dir helfen sollte.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von 090365
Wow,
das klingt ja super.
Werde das mal testen.
Habe von meinem Chef die Aufgabe bekommen für die Mitarbeiter ein Urlaubsformular zu gestalten.
Da ist die zweite Variante wahrscheinlich die bessere Wahl.. Bei Doppeleingaben wird nichts hinzugefügt.
Würde das gerne damit verknüpfen
https://supportnet.de/threads/1013517
Muss jetzt nur mal eben wech.
Werde am Wochenende sicher noch aktiv im Supportnet.
Danke
Jochen
das klingt ja super.
Werde das mal testen.
Habe von meinem Chef die Aufgabe bekommen für die Mitarbeiter ein Urlaubsformular zu gestalten.
Da ist die zweite Variante wahrscheinlich die bessere Wahl.. Bei Doppeleingaben wird nichts hinzugefügt.
Würde das gerne damit verknüpfen
https://supportnet.de/threads/1013517
Muss jetzt nur mal eben wech.
Werde am Wochenende sicher noch aktiv im Supportnet.
Danke
Jochen
Antwort 5 von 090365
Hallo, habe mit VBA keine Erfahrung.
Wollte das für die Spalte B1 übernehmen, dann habe ich folgende Fehlermeldung erhalten
Mehrdeutiger Name:Worksheet Change
Hiiiiiiiiiilfe.
Vermute, dass man das dann in den gleichen VBA Code implementieren muss.
MfG
Jochen
P.S. Bekomme hiermit gleich noch einen Crashkurs in VBA :-))
Wollte das für die Spalte B1 übernehmen, dann habe ich folgende Fehlermeldung erhalten
Mehrdeutiger Name:Worksheet Change
Hiiiiiiiiiilfe.
Vermute, dass man das dann in den gleichen VBA Code implementieren muss.
MfG
Jochen
P.S. Bekomme hiermit gleich noch einen Crashkurs in VBA :-))
Antwort 6 von coros
Hi Jochen,
kannst Du mal klar und deutlich schreiben, was Du eigentlich möchtest? Ich kann ehrlich nichts damit anfangen was Du in Deiner Antwort 4 meinst. In wie weit möchtest Du das mit dem Code aus dem Beitrag verknüpfen? Da müsstest Du schon mal etwas genauer schreiben,wie Du das meinst.
Zu Deiner nächsten Frage, Du darfst natürlich nicht den kompleten Code nochmals einfügen. Das Worksheet_Change Ereignis darf nur einmal pro Tabellenblatt vorkommen. Alles weitere muss dann immer in das vorhandenen Worksheet_Change Ereignis mit eingebunden werden. Da Du aber auch hier keine genaueren Angaben machst, was Du mit
meinst, kann ich auch da nur raten. Wenn Du anstelle von A1 das Datum in B1 eingeben möchtest und dann das Datum von Zelle B1 in das andere Blatt in Spalte B kopiert werden soll, dann müssen beide VBA Code folgendemaßen aussehen.
1. Code
2. Code
Wenn Du aber beides möchtest, also Datumseingabe in A1 und B1 dann sehen die Code so aus:
1. Code
2. Code
So, nun habe ich eine Menge geschrieben. Vielleicht ist ja was passendes dabei. Wenn nicht, dann schreib mal etwas mehr als nur die wagen Angaben aus den letzten Beiträgen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kannst Du mal klar und deutlich schreiben, was Du eigentlich möchtest? Ich kann ehrlich nichts damit anfangen was Du in Deiner Antwort 4 meinst. In wie weit möchtest Du das mit dem Code aus dem Beitrag verknüpfen? Da müsstest Du schon mal etwas genauer schreiben,wie Du das meinst.
Zu Deiner nächsten Frage, Du darfst natürlich nicht den kompleten Code nochmals einfügen. Das Worksheet_Change Ereignis darf nur einmal pro Tabellenblatt vorkommen. Alles weitere muss dann immer in das vorhandenen Worksheet_Change Ereignis mit eingebunden werden. Da Du aber auch hier keine genaueren Angaben machst, was Du mit
Zitat:
Wollte das für die Spalte B1 übernehmen
Wollte das für die Spalte B1 übernehmen
meinst, kann ich auch da nur raten. Wenn Du anstelle von A1 das Datum in B1 eingeben möchtest und dann das Datum von Zelle B1 in das andere Blatt in Spalte B kopiert werden soll, dann müssen beide VBA Code folgendemaßen aussehen.
1. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("B1")
Zeile = Sheets("Tabelle2").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$B$1" Then
Sheets("Tabelle2").Cells(Zeile, 2) = CDate(Datum)
End If
End Sub2. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("B1")
Zeile = Sheets("Tabelle2").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$B$1" Then
If Sheets("Tabelle2").Cells(Zeile - 1, 2) <> Datum Then
Sheets("Tabelle2").Cells(Zeile, 2) = CDate(Datum)
End If
End If
End Sub Wenn Du aber beides möchtest, also Datumseingabe in A1 und B1 dann sehen die Code so aus:
1. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum_A1 As Date, Datum_B1 As Date, Zeile_A As Long, Zeile_B As Long
Datum_A1 = Range("A1")
Datum_B1 = Range("B1")
Zeile_A = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
Zeile_B = Sheets("Tabelle2").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$A$1" Then
Sheets("Tabelle2").Cells(Zeile_A, 1) = CDate(Datum_A1)
End If
If Target.Cells.Address = "$B$1" Then
Sheets("Tabelle2").Cells(Zeile_B, 2) = CDate(Datum_B1)
End If
End Sub2. Code
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum_A1 As Date, Datum_B1 As Date, Zeile_A As Long, Zeile_B As Long
Datum_A1 = Range("A1")
Datum_B1 = Range("B1")
Zeile_A = Sheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
Zeile_B = Sheets("Tabelle2").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$A$1" Then
If Sheets("Tabelle2").Cells(Zeile_A - 1, 1) <> Datum_A1 Then
Sheets("Tabelle2").Cells(Zeile_A, 1) = CDate(Datum_A1)
End If
End If
If Target.Cells.Address = "$B$1" Then
If Sheets("Tabelle2").Cells(Zeile_B - 1, 2) <> Datum_B1 Then
Sheets("Tabelle2").Cells(Zeile_B, 2) = CDate(Datum_B1)
End If
End If
End SubSo, nun habe ich eine Menge geschrieben. Vielleicht ist ja was passendes dabei. Wenn nicht, dann schreib mal etwas mehr als nur die wagen Angaben aus den letzten Beiträgen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von 090365
Sorry,
dass ich mich so unklar ausdrücke.Anscheinend ein Problem von mir. Sagt meine Freundin wenigstens.
Zum ersten, Die Zweite Lösung Code2 scheint genau das zu sein, was ich suche.
Zu deinem Vorwurf, dass ich mich so unklar ausdrücke.
Ich weiß selber noch nicht so genau, wie ich mein Projekt realisiere.
Gibt es eine Möglichkeit dir das auf direktem Wege genauer zu erklären. Würde den Rahmen hier sprengen.
Meine Mail: eldorado2001@gmx.de
Grüße
Jochen
dass ich mich so unklar ausdrücke.Anscheinend ein Problem von mir. Sagt meine Freundin wenigstens.
Zum ersten, Die Zweite Lösung Code2 scheint genau das zu sein, was ich suche.
Zu deinem Vorwurf, dass ich mich so unklar ausdrücke.
Ich weiß selber noch nicht so genau, wie ich mein Projekt realisiere.
Gibt es eine Möglichkeit dir das auf direktem Wege genauer zu erklären. Würde den Rahmen hier sprengen.
Meine Mail: eldorado2001@gmx.de
Grüße
Jochen

