Zelle E3 = Zelle D3 - Zelle D2
Zelle E4 = Zelle D4 - Zelle D3
Zelle E5 = Zelle D5 - Zelle D4
Zelle E6 = Zelle D6 - Zelle D5
Immer um eine Zeile nach unten verschieben bis zur letzten Zeile.
Gibt es hierfür einen Lösungsansatz?
Viele Grüße Frank.
Code:
[Cc]
Sub Test()
Dim oZelle As Range
For Each oZelle In Range("D3:D" & Cells(Rows.Count, "D").End(xlUp).Row)
With oZelle
.Offset(0, 1).Value = .Value - .Offset(-1, 0).Value
End With
Next oZelle
End Sub
Code:
[Cc]
Sub Test()
Debug.Print ActiveSheet.Shapes.Range(Array("TextBox 1")).TextFrame2.TextRange.Text _
- Cells(Cells(Rows.Count, "D").End(xlUp).Row, "D").Value > 0
End Sub
if Debug.Print ActiveSheet.Shapes.Range(Array("TextBox 3")).TextFrame2.TextRange.Text - Cells(Cells(Rows.Count, "D").End(xlUp).Row, "D").Value > 0 then
TextBox3.Value = "Datensatz darf nicht gleich oder weniger wie letzter Eintrag sein"
TextBox3.ForeColor = vbRed
End If
TextBox3 darf nicht gleich oder weniger wie letzter Eintrag aus Spalte D sein (erster Wert in D2).Code:
[Cc]
Sub Test()
With ActiveSheet.TextBox1
If .Text - Cells(Cells(Rows.Count, "D").End(xlUp).Row, "D").Value > 0 Then
.Text = "Datensatz darf nicht gleich oder weniger wie letzter Eintrag sein"
.ForeColor = vbRed
End If
End With
End Sub
With Worksheets("TabStromEG").TextBox3
If .Text - Cells(Cells(Rows.Count, "D").End(xlUp).Row, "D").Value > 0 Then
.Text = "Datensatz darf nicht gleich oder weniger wie letzter Eintrag sein"
.ForeColor = vbRed
End If
End With
Code:
[Cc]
Sub Test()
Dim oZelle As Range
Application.ScreenUpdating = False
For Each oZelle In Range("D3:D" & Cells(Rows.Count, "D").End(xlUp).Row)
With oZelle
If .Offset(0, -2).Value <> "Ja" Then ' Spalte B
ElseIf .Offset(-2, -2).Value = "Ja" _
And .Offset(-1, -2).Value = "Nein" Then
.Offset(0, 1).Value = .Value - .Offset(-1, 0).Value
Else
.Offset(0, 1).Value = (.Value - .Offset(-1, 0).Value) _
+ (.Offset(-2, 0).Value - .Offset(-3, 0).Value)
End If
End With
Next oZelle
Application.ScreenUpdating = True
End Sub