Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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
Inhaltsverzeichnis

Neue Reiter mit Daten füllen

Neue Reiter mit Daten füllen
29.03.2017 21:48:13
Dave
Hallo liebe Excel-Freunde,
ich habe ein Problem, dass bestimmt schon öfter gelöst wurde, leider finde ich aber hier und sonst im Netz keine passende Lösung.
Also:
Ich habe einen Ausdruck in A1, einen Ausdruck in B1 und füge ein Datum (Strg+Punkt) in C1 ein.
Beim Einfügen des Datums in C1, hätte ich gern, dass ein neues Sheet erstellt wird mit dem Namen von A1. Falls das Sheet schon vorhanden ist, soll eben dieses ausgewählt werden.
In dem neuen/ausgewählten Sheet soll nun der Ausdruck aus dem ersten Sheet aus B1 und C1 in A1 und B1 eingefügt werden.
Falls etwas in A1 und B1 schon steht sollen diese Daten eine Zeile nach unten rücken und so Platz machen für die neuen Daten.
Ich hoffe es ist verständlich wie ich es beschrieben habe.
Einen gewissen Anfang dafür habe ich auch schon:
Sub Daten_Sammeln()
Dim Zeile As Long
Dim Max_Zeilen As Long
With Tabelle3
Max_Zeilen = .UsedRange.Rows.Count
For Zeile = Max_Zeilen To 5 Step -1
If IsEmpty(.Cells(Zeile, 23).Value) Then
Danke im Vorraus viel mals für die Hilfe und wünsche jetzt erstmal eine gute Nacht :)

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

Betreff
Datum
Anwender
Anzeige
AW: Neue Reiter mit Daten füllen
29.03.2017 23:28:46
Werner
Hallo Dave,
der Code gehört ins Codemodul des Arbeitsblattes auf dem du dein Datum eingibst.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Das Makro startet automatisch, sobald du dein Datum in Zelle C1 erfasst.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strBlattname As String
Application.ScreenUpdating = False
If Target.Row = 1 And Target.Column = 3 Then
If Target  "" Then
strBlattname = Range("A1").Value
On Error GoTo Fehler
Evaluate Sheets(strBlattname).Range("A1")
Sheets("Tabelle1").Range("A1:C1").Copy 'Blattname anpassen
Sheets(strBlattname).Rows(1).Insert
Application.CutCopyMode = False
End If
End If
Application.ScreenUpdating = True
Exit Sub
Fehler:
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = strBlattname
Sheets("Tabelle1").Range("A1:C1").Copy 'Blattname anpassen
Sheets(strBlattname).Rows(1).Insert
Application.CutCopyMode = False
Sheets("Tabelle1").Activate 'Blattname anpassen
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Neue Reiter mit Daten füllen
30.03.2017 18:01:27
Dave
Hallo,
vielen Dank Werner für deinen Code.
Der funktioniert auch Wunderbar für denn beschriebenen Fall.
Leider wollte ich, um es unkompliziert zu machen, das Problem minimalistisch halten und dann entsprechend anpassen.
Das funktioniert aber leider nicht so ganz wie ich erhofft habe, da einige Bezüge dann doch anders sind also der Code sie nimmt.
Deswegen möchte ich noch mal etwas detaillierter drauf eingehen:
Der Ausdruck für den Namen des Blattes steht in Spalte H
Der Ausdruck der einfach übernommen werden soll steht in Spalte W
und das Datum wird in Spalte X eingefügt.
Zudem soll das ganze entweder als Schleife laufen (so wie bei meinem Anfangscode) oder halt explizit nur in der Spalte in der ich das Datum eingetragen wurde, da es die Excel ca. 300 Zeilen hat.
Ich entschuldige mich für die Unannehmlichkeiten!
Gruß
Dave
Anzeige
AW: Neue Reiter mit Daten füllen
30.03.2017 18:30:57
Werner
Hallo Dave,
es ist meistens kontraproduktiv mit den tatsächlichen Gegebenheiten hinter dem Berg zu halten.
Es gibt weiterhin noch Unklarheiten.
1. es gibt wohl mehr Blattname in Spalte H?
2. du sprichst von bis zu 300 Zeilen, gibt es für jede Zeile dann in H einen Blattnamen?
3. es soll nur der Wert aus Spalte W übertragen werden?
4. wohin? Weiterhin ins entsprechende Blatt nach A1, vor ggf. bereits vorhandene Daten?
Als Beispiel:
Datum wird in X3 erfasst
Schaue in H3 nach dem Blattname
Falls Blatt noch nicht vorhanden - anlegen mit Namen aus H3 - Wert aus W3 ins neue Blatt nach A1
Falls Blatt vorhanden Wert aus W3 in dieses Blatt nach A1 - ggf. bereits vorhandene Daten nach unten verschieben
Soll das Makro manuell ausgelöst werden, z.B. mit einer Schaltflache, oder soll das automatisch passieren sobald in Spalte X ein Datum erfasst wird?
Mach doch mal eine kleine Beispielmappe die in ihrem Aufbau dem Original entrichten und lade sie hoch.
Gruß Werner
Anzeige
AW: Neue Reiter mit Daten füllen
30.03.2017 18:59:19
Dave
Hallo Werner,
okay nächstes Mal versuche ich es so zu beschreiben wie es tatsächlich ist.
So wie du es beschrieben hast, ist es soweit richtig, nur dass auch das Datum mit übertragen werden soll.
Hab auch ne Datei angehangen damit man es vllt besser versteht. https://www.herber.de/bbs/user/112532.xlsx
1.In H steht eine Zahl ggf. auch Zahl/Zahl. Beim Blattnamen kann man aber kein / setzen oder? entsprechend würde auch ein - gehen.
2. Ja jede Zeile hat einen anderen Blattnamen, da es verschiedene Nummern sind.
3. Der Wert auch W und X, also Begriff und eingetragenes Datum.
4. Ins entsprechende Blatt in A1:B1, vorhandene Einträge rücken um eins nach unten.
Automatisch sobald irgendwo in X ein Datum auftaucht.
Nochmal danke, auch für die schnelle Antwort.
Gruß
Dave
Anzeige
AW: Neue Reiter mit Daten füllen
30.03.2017 20:29:59
Werner
Hallo Dave,
Makro läuft nur wenn in Spalte X ab X5 ein Datum eingegeben wird (bei Eingabe eines Textex z.B. läuft es nicht) und wenn die Zelle davor (Spalte W) nicht leer ist.
Beispiel: Eingabe von "Hallo Dave" in Zelle X5 - Makro läuft nicht
Eingabe eines Datums in Zelle X5 - in Zelle W5 steht ein Wert - Makro läuft
Eingabe eines Datums in Zelle X5 - Zelle W5 ist leer - Makro läuft nicht
https://www.herber.de/bbs/user/112534.xlsm
Gruß Werner
AW: Neue Reiter mit Daten füllen
02.04.2017 23:23:26
Dave
Hallo Werner,
danke für den Code,
klappt alles so wie ich gern hätte bzw. noch besser durch das mit dem "nur Datum" wie du es erklärt hast :)
Gruß
Dave
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
02.04.2017 23:55:39
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige