Daten in die Richtige Zeile eintragen lassen.

truckerking

Mitglied
2019 DATUM GAS VERBRAUCH
(01) Januar
(02) Februar
(03) März
(04) April
(05) Mai
(06) Juni
(07) Juli

(08) August
(09) September
(10) Oktober
(11) November
(12) Dezember


So sieht die Tabelle aus in der Userform werden Eingaben gemacht und dort berechnet, die Ergebnisse die dann auf Click(Button) in diese Tabelle eingetragen werden sollen. Der Eintrag an sich ist nicht das Problem, sondern das der Eintrag das aktuelle Eintragsdatum mit der Monatszeile vergleicht und dort dann die Daten in die richtige Zeile schreibt. Kann mir jemand da helfen komme irgendwie da nicht weiter und im Internet auch nichts vergleichbares gefunden.
 

jerry0110

Erfahrenes Mitglied
Wann wird denn der Eintrag gemacht? Ist das Eintragungsdatum das gleich wie der Monat wo es stehe soll?
 

jerry0110

Erfahrenes Mitglied
Also ich bin ja kein Experte aber ich würde das mit einer Schleife machen. Dann das Feld wo z. B. (01) Januar steht auslesen und dann mit dem aktuellen Datum vergleichen. Also nur so als Anstoß. Weiß nicht ob es wirklich klappt


Visual Basic:
Dim mydate as date
Dim lastrow as long

lastrow = Worksheets("xxx").Cells(Rows.Count, 1).End(xlUp).Row
mydate = now

for i = 1 to lastrow
    if cells(lastrow, spalte) = "(" & Format(mydate,"MM") & ") " & Format(mydate, "MMMM") Then
        befehl
    End If
Next
 

truckerking

Mitglied
Sorry die Tabelle hat ich wieder einmal zusammen gezogen.

unter 2019 steht der aktuelle Wert (Stand des Zählers)
unter Datum das aktuelle Eintragsdatum (normalerweise 1 x monatlich)
Unter GAS (und andere) stehen die Monate
unter Verbrauch kommt der errechnete Verbrauch des Monats.

Um die Daten der TextBoxen richtig einzutragen brauche ich so was wie eine Abfrage Aktuelles Datum (2Spalte) und vergleich mit Monat (3Spalte) damit dann die Daten für z.B April auch bei April eingetragen werden.

ich habe schon einiges versucht aber nix klappt....
 

truckerking

Mitglied
Also ich bin ja kein Experte aber ich würde das mit einer Schleife machen. Dann das Feld wo z. B. (01) Januar steht auslesen und dann mit dem aktuellen Datum vergleichen. Also nur so als Anstoß. Weiß nicht ob es wirklich klappt


Visual Basic:
Dim mydate as date
Dim lastrow as long

lastrow = Worksheets("xxx").Cells(Rows.Count, 1).End(xlUp).Row
mydate = now

for i = 1 to lastrow
    if cells(lastrow, spalte) = "(" & Format(mydate,"MM") & ") " & Format(mydate, "MMMM") Then
        befehl
    End If
Next

xxx soll nehme ich an die entsprechende Tabelle enthalten was soll aber für ( - ) rein weil die auch rot sind.
 

Zvoni

Erfahrenes Mitglied
Code:
Dim Monat As Long

    Monat = 11

    Debug.Print Month(Date) 'Den Monat vom heutigen Datum
    Debug.Print MonthName(Month(Date))  'Den Monatsnamen ausgeschrieben vom heutigen Datum
    Debug.Print MonthName(Monat)  'Den Monatsnamen ausgeschrieben vom 11. Monat
    Debug.Print MonthName(Monat, True) 'Den Monatsnamen abgekürzt geschrieben vom 11. Monat
Ergebnis:
3
März
November
Nov
 

truckerking

Mitglied
Code:
Dim Monat As Long

Monat = 11

Debug.Print Month (Date) 'Den Monat vom heutigen Datum

Next

Dim Z As Long

Z = Cells(Rows.Count, 2).End(xlUp).Row + 1

    Cells(Z, 2) = txtjetzt1

    Cells(Z, 4) = Datum2

    Cells(Z, 3) = txtverbrauch1

    

ThisWorkbook.Worksheets ("Tabelle4")

    .Cells(3, 2).Value = txtjetzt1

    .Cells(3, 4).Value = Datum2

    .Cells(3, 3).Value = txtverbrauch1
    
 End Sub



da meckert er bei Date .......warum?