SummeWenn durch Makro in Zeile eintragen (VBA)

Louis, Montag, 16.03.2020, 09:39 (vor 19 Tagen)

Morgen,

ich möchte gerne wenn ich auf mein Makro in dem Sheet"Eintragungen" drücke , dass er mir im Sheet "Fehlersammelliste" die Zeilen G4 bis G1045876 auf den Namen "Optima " untersucht und wenn dies der Fall ist die Zeit angegeben in hh:mm:ss in der Spalte D4:D1045876 in Zelle K3 aufsummiert undzwar jedesmal wenn ich das Makro drücke.

Mein bisheriger Code sieht so aus und diese Funktion soll nur daran gefügt werden.

Fett markiert unten ist das was eben beschrieben wurde , der Rest ist nur zur Info.

Sub Stoerung_behoben()
Range("K7") = Date & " " & Format(Time, "hh:mm:ss")
Worksheets("Fehlersammelliste").Activate
' Zeileeinfügen Makro
Rows("4:4").Select
Selection.Insert Shift:=x1Down, CopyOrigin:=xlFormatFromLeftOrAbove


Sheets("Eintragungen").Range("A7").Copy Sheets("Fehlersammelliste").Range("B4")
Sheets("Eintragungen").Range("K7").Copy Sheets("Fehlersammelliste").Range("C4")


Dim Zeit1 As Date
Dim Zeit2 As Date
Dim Sek As Long
Dim Min As Long
Dim Std As Long


Zeit1 = Sheets("Fehlersammelliste").Range("B4")
Zeit2 = Sheets("Fehlersammelliste").Range("C4")

Sek = DateDiff("s", Zeit1, Zeit2)

Std = Int(Sek / 3600)
Min = Int((Sek - (Std * 3600)) / 60)
Sek = Sek - ((Std * 3600) + (Min * 60))
Sheets("Fehlersammelliste").Range("D4").Value = Std & ":" & Min & ":" & Sek


Sheets("Eintragungen").Range("C7").Copy Sheets("Fehlersammelliste").Range("E4")
Sheets("Eintragungen").Range("D7").Copy Sheets("Fehlersammelliste").Range("F4")
Sheets("Eintragungen").Range("E7:E7").Copy Sheets("Fehlersammelliste").Range("G4:G4")
Sheets("Eintragungen").Range("H7:I7").Copy Sheets("Fehlersammelliste").Range("I4:I4")
'Sheets("Eintragungen").Range("L7").Value = Sheets("Eintragungen").Range("L7").Value + 1
Sheets("Eintragungen").Range("L7").Copy Sheets("Fehlersammelliste").Range("A4")
Sheets("Eintragungen").Range("A7").ClearContents
Sheets("Eintragungen").Range("C7:D7").ClearContents
Sheets("Eintragungen").Range("E7:F7").ClearContents
Sheets("Eintragungen").Range("H7:I7").ClearContents
Sheets("Eintragungen").Range("K7").ClearContents
' Rücksprung Anfang
Sheets("Eintragungen").Select
Range("C7").Select
'Autosummation der Firmenauswertung
'Worksheets ("Fehlersammelliste")
'Worksheet ("Fehlersammelliste")
'.Range("K3").FormulaLocal = "=SUMMEWENN(D4:D1045876;Optima;G4:G1045876))"
Fehlersammelliste.Range("K3").FormulaLocal = "=SUMMEWENN(D4:D1045876;Optima;G4:G1045876))"



End Sub

Vielen Dank schonmal im vorraus
Lg Louis

Schon gepostet in http: //www.vba-forum.de/Forum /View.aspx?ziel=5796 4-SummeWenn_durch_Makro_ in_eine_Zelle_ kopieren aber noch keine Antwort erhalten .

SummeWenn durch Makro in Zeile eintragen

Martin Asal @, Montag, 16.03.2020, 13:40 (vor 19 Tagen) @ Louis

Hallo Louis,

das geht natürlich auch ganz einfach ohne VBA: Setze einen Filter auf deine Liste, filtere Spalte G nach "Optima" und schreibe in K3:

=TEILERGEBNIS(9;D4:D1045876)

Natürlich musst du K3 entsprechend formatieren: [hh]:mm:ss

Falls du es aber unbedingt über VBA machen willst, kommst du bestimmt hiermit klar:

Sub summiere()
Dim i As Long
 
For i = 4 To 1045876
    With Sheet("Eintragungen")
        If .Range("G" & i) = "Optima" Then
            .Range("K3") = .Range("K3") + .Range("D" & i)
        End If
    End With
Next
End Sub

Auch hier muss natürlich K3 entsprechend formatiert sein.

Martin

RSS-Feed dieser Diskussion
powered by my little forum