Hallo Katharina,
Könntest Du es jetzt noch schaffen, dass die Summe aus dem
Verkauf immer auch noch zusätzlich fix in einer anderen Zelle
steht, z.B. F4?!
siehe nachstehenden Code.
Ich brauche sie nämlich für weitere Blätter zum Weiterrechnen,
da sie sich derzeit aber immer mit jedem neuen Eintrag
verschiebt, krieg ich das nicht hin!
Ich würde das grundsätzlich anders angehen.
Ich würde die Summen oben in Zeile 1 und/oder 2 schreibn lassen und diese zeilen fisoeren, dann sieht man die immer, egal wie lang die Liste ist.
Option Explicit
'
Private Sub Workbook\_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wks1 As Worksheet, Wks2 As Worksheet, wksV As Worksheet
Dim Zelle As Range, Zei As Long, ZeiV As Long
If Sh.Name "Ware April" And Sh.Name "Ware Mai" Then Exit Sub
Set Wks1 = Worksheets("Ware April")
Set Wks2 = Worksheets("Ware Mai")
Set wksV = Worksheets("Verkauf")
Set Target = Intersect(Target, Sh.Columns(1))
If Target Is Nothing Then Exit Sub
Application.ScreenUpdating = False
If Target.Value = "v" Then Sh.Cells(Target.Row, 8) = Now
With wksV
.UsedRange.Clear
.Range("A1:smiley:1") = Split("Datum Einkauf Beschreibung Verkauf")
.Columns(1).NumberFormat = "hh.mm.ss"
.Columns(2).NumberFormat = "#,##0.00 $"
.Columns(4).NumberFormat = "#,##0.00 $"
.Cells(4, 6).NumberFormat = "#,##0.00 $"
ZeiV = 2
With Wks1
For Zei = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(Zei, 1).Value = "v" Then
wksV.Cells(ZeiV, 1).Value = .Cells(Zei, 8).Value
wksV.Cells(ZeiV, 2).Value = .Cells(Zei, 3).Value
wksV.Cells(ZeiV, 4).Value = .Cells(Zei, 5).Value
wksV.Cells(ZeiV, 3).Value = .Cells(Zei, 4).Value
ZeiV = ZeiV + 1
End If
Next Zei
End With
With Wks2
For Zei = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(Zei, 1).Value = "v" Then
wksV.Cells(ZeiV, 1).Value = .Cells(Zei, 8).Value
wksV.Cells(ZeiV, 2).Value = .Cells(Zei, 3).Value
wksV.Cells(ZeiV, 4).Value = .Cells(Zei, 5).Value
wksV.Cells(ZeiV, 3).Value = .Cells(Zei, 4).Value
ZeiV = ZeiV + 1
End If
Next Zei
End With
.Cells(ZeiV, 2).Value = "Summe " & .Cells(1, 2).Value
.Cells(ZeiV, 4).Value = "Summe " & .Cells(1, 4).Value
.Cells(ZeiV + 1, 2).Value = Application.Sum(.Range("B2:B" & ZeiV - 1))
.Cells(ZeiV + 1, 4).Value = Application.Sum(.Range("D2:smiley:" & ZeiV - 1))
.Cells(4, 6).Value = Application.Sum(.Range("D2:smiley:" & ZeiV - 1))
With .Range("B2:smiley:" & ZeiV - 1).Font
.Name = "Arial"
.Size = 8
.ColorIndex = 3
End With
.Range("A2:smiley:" & ZeiV - 1).Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlNo, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Application.ScreenUpdating = True
End Sub
Gruß
einhard