Zum Forum springen
Excel VBA Frage
 
Benachrichtigungen
Alles löschen

Excel VBA Frage

7 Beiträge
4 Benutzer
0 Reactions
343 Ansichten
Renne01
Beigetreten: 15.05.2007

Hallo zusammen. Ich hoffe hier gibts ein paar VBA Könner.

Ich mach gerade ein kleines Exceldokument, in dem ich Tagesergebnisse von meinen Sportwetten eintrage. Dabei verwende ich für das jew. Datum die Spalte A und für die Ergebnisse die Spalte B. Insgesamt brauche ich immer 31 Zeilen (für die Monatstage). In der 32. Zeile steht die Summe der Gewinne.

Der Anwender soll nur in Spalte B schreiben. Wenn er zB. den Gewinn von Tag 1 in Zelle B1 einträgt, soll automatisch das aktuelle Datum in Zelle A1 eingetragen werden. Bei Eintrag in B2, soll das aktuelle Datum in A2 eingetragen werden. Wie mach ich das mit VBA?

thx


Antwort
Zitat
6 Antworten
killerfurbel
Beigetreten: 14.01.2007

Dropbox
Siehe Beispieldatei:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 And Target.Row <= 31 And Range("A" & Target.Row).Value = "" Then

Range("A" & Target.Row).Formula = "=TODAY()"
Range("A" & Target.Row).Formula = Range("A" & Target.Row).Value

End If


End Sub

Also sobald man den Zelleninhalt in Spalte B (Zeile 1-31) ändert, wird geprüft ob die Spalte A in der gleichen Zeile leer ist. Wenn ja, wird das Tagesdatum eingetragen.
Weiß nicht 100% ob es das ist, was du willst, vielleicht ist aber ja auch ein Denkanstoß dabei...


Antwort
Zitat

So und nicht anders. _thumbsup:


Antwort
Zitat
Renne01 Themenstarter
Renne01
Beigetreten: 15.05.2007

Wenn das bereits einmal eingetragene Datum dann nicht bei jedem neuen Eintrag mitgeändert wird, ist das genau das was ich brauche. Weil ansonsten hätte ich auch =heute() nehmen und die erneute Änderung blocken können, wobei ich auch nicht weiß wie das geht. ;)

Vielen Dank!


Antwort
Zitat

Nö, wird nicht mit übernommen, da der Wert von heute (Today, Spalte 5) in der darunterliegenden Codespalte ja fixiert wird


Antwort
Zitat

Original von Renne01
Wenn das bereits einmal eingetragene Datum dann nicht bei jedem neuen Eintrag mitgeändert wird, ist das genau das was ich brauche. Weil ansonsten hätte ich auch =heute() nehmen und die erneute Änderung blocken können, wobei ich auch nicht weiß wie das geht. ;)

Vielen Dank!

Wie wärs damit:

cells(target.row,1)=date


Antwort
Zitat
Renne01 Themenstarter
Renne01
Beigetreten: 15.05.2007

Jetzt hab ich ein anderes Problem. Am Ende jeden Monats werden die Gesamtwinnings in die Tabelle monatliche Ergebnisse kopiert. In B36 der Tabelle für die täglichen Aufzeichnungen steht die Summe der Winnings von Tag 1 bis 31. Den Wert aus B36 übernehme ich in die monatliche Tabelle. Das passiert jeden Monat für Jannuar, Februar,... Dezember.

Sheets("monatlicheAufzeichnungen").Range("B4") = Sheets("taeglicheAufzeichnungen").Range("B36").Value

Nur wenn ich am Monatsende die Zellen füfs neue Monat leere, wirkt sich das auch auf die zweite Tabelle aus, was nicht passieren darf.

Nochmals danke. Wer will kann das Ding gerne haben, wenns fertig ist. Als Gegenleistung sozusagen.


Antwort
Zitat
Teilen: