Daten in Excel automatisiert einfügen in Abhängigkeit vom Datum ?

... komplette Frage anzeigen

5 Antworten

Hallo,

ich gebe auch mal meinen Senf dazu. Aus meiner Sicht wäre es sinnvoll die Datentabelle als ordentliche Matrix fortlaufend aufzubauen, nicht die Daten des Vortages zu überschreiben.

Zusätzliche Spalte Datum einfügen und dann kannst du in der Auswertung mit Index-Funktionen arbeiten, siehe hier: http://www.excelformeln.de/formeln.html?welcher=30

LG, Chris

Antwort bewerten Vielen Dank für Deine Bewertung

Also wenn du auf jeden Fall die letzte Zahl in der Zeile ausgeben möchtest (so nehme ich das bei fortlaufendem Datum einfach mal an) dann reicht das hier

=VERWEIS(9^99;Tabelle1!2:2)

wobei Tabelle1!2:2 die andere Tabelle darstellt und davon die gesamte 2. Zeile

Antwort bewerten Vielen Dank für Deine Bewertung

Ist schon etwas her bei mir, aber mit Makros funktioniert das ganz gut.

Wenn du dich mit Makros nicht so auskennen solltest wird es schwieriger, aber ich könnte versuchen, es dir zu erklären, wenn ich es noch zusammenbekomme.

Habe ich das richtig verstanden? Du hast Tabelle 1 und da hast du ne Reihe Usernamen und ihre Punkte. Die Punkte werden jeden Tag überschrieben aber die Usernamen sind fix?

Und in Tabelle 2 werden jeden Tag die Punkte unter dem jeweiligen Datum und Usernamen gespeichert und das soll automatisiert werden?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von xAcyrax
18.08.2016, 16:40

genau :-)

0

wie SirRamic sagte wird das nur per Makro gehen.  Könnte in etwa so aussehen:

Sub uebernehmen()
Dim neu, uebersicht As String
Dim i, j As Long
neu = "tabelle1" ' Name des Tabellenblatts in der täglich die neuen Werte erfasst werden
uebersicht = "tabelle2" 'Name des Tabellenblatts mit der Übersicht nach Datum

For i = 2 To Sheets(uebersicht).Cells(1, Columns.Count).End(xlToLeft).Column 'in Zeile 1 die Spalte mit dem Tagesdatum suchen. Wenn nicht Zeile 1, dann diese 1 anpassen
If Sheets(uebersicht).Cells(1, i).Value = Date Then Exit For 'Annahme: Datum steht in Zeile 1, sonst auch diese 1 anpassen
Next

For j = 2 To Sheets(uebersicht).Cells(Rows.Count, 1).End(xlUp).Row 'Tab. Übersicht durchgehen und via Sverweis die Werte holen.
If WorksheetFunction.CountIf(Sheets(neu).Range("C:C"), Sheets(uebersicht).Cells(j, 1).Value) > 0 Then 'Annahme: Namen in Spalte C
Sheets(uebersicht).Cells(j, i).Value = WorksheetFunction.VLookup(Sheets(uebersicht).Cells(j, 1).Value, Sheets(neu).Range("C:D"), 2, False) 'Ann: Namen in C, Punkte in D
Else: Sheets(uebersicht).Cells(j, i).Value = "N/A"
End If
Next

End Sub

Ich bin davon ausgegangen, dass auf das tatsächliche Tagesdatum abgefragt wird, sprich heute gesucht wird. Du kannst natürlich auch ein Datum in Tabelle1 eintragen, zu dem die Punkte nach Tabelle2 übernommen werden sollen. Dann wäre es zeitlich flexibler, wenn die Übernahme nicht am selben Tag erfolgt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von xAcyrax
18.08.2016, 16:39

Vielen Dank dafür :-)

Ich werd mich mal über Makros schlau machen und mich dann hineinstürzen :-)

LG Flo

0

Mal blöd gefragt: Wenn du die Punkte sowieso täglich einträgst, warum trägst du sie nicht gleich in Tabelle 2 ein?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ninombre
18.08.2016, 11:35

die Frage ist tatsächlich nicht schlecht, ich habe auch nur treudoof direkt was in VBA getippt, anstatt den Aufbau zu hinterfragen

1
Kommentar von xAcyrax
18.08.2016, 16:34

Naja das Ding ist halt dass ich aufgrund des Aufbaus des gesamten Dokuments "Tabelle 1" und "Tabelle 2" (stehen nicht nebeneinander) nicht in einer kombinieren kann ohne die Gefahr des Übersichtsverlusts zu vergrößern, da sich auch noch andere Daten und Diagramme in dem Sheet befinden :-).

MfG Flo

0

Was möchtest Du wissen?