Registriert seit: 16.10.2017
Version(en): Office 2016
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi,
lade mal bitte deine Kniffeldatei hoch. Mit Bildern kann und will niemand etwas anfangen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 16.10.2017
Version(en): Office 2016
16.10.2017, 18:59
(Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2017, 19:00 von genossealex.)
(16.10.2017, 18:51)WillWissen schrieb: Hi,
lade mal bitte deine Kniffeldatei hoch. Mit Bildern kann und will niemand etwas anfangen.
getan
und das ist 10.000 ;)
Gruß Alex
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo,
... tja, tja, ... die Genossen eben :05:
Registriert seit: 16.10.2017
Version(en): Office 2016
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
vielleicht so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntResult As Variant
If Not Intersect(Target, Range("$B$7:$G$46")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
vntResult = Evaluate(Target.Value)
If Not IsError(vntResult) Then
Target.Value = vntResult
Else
Target.Value = ""
End If
If Target.Row > 8 Then
With Target.Offset(-2).Resize(3)
If Application.WorksheetFunction.Count(.Value) Then
If Application.Sum(.Value) = 0 Then
Cells(3, Target.Column).Formula = "=SUM(B46:" & Target.Address(0, 0) & ")"
End If
End If
End With
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Du musst nur die Formeln bei Spielstart wieder setzen.
Gruß Uwe
Registriert seit: 16.10.2017
Version(en): Office 2016
(18.10.2017, 11:29)Kuwer schrieb: Hallo,
vielleicht so:Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntResult As Variant
If Not Intersect(Target, Range("$B$7:$G$46")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
vntResult = Evaluate(Target.Value)
If Not IsError(vntResult) Then
Target.Value = vntResult
Else
Target.Value = ""
End If
If Target.Row > 8 Then
With Target.Offset(-2).Resize(3)
If Application.WorksheetFunction.Count(.Value) Then
If Application.Sum(.Value) = 0 Then
Cells(3, Target.Column).Formula = "=SUM(B46:" & Target.Address(0, 0) & ")"
End If
End If
End With
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Du musst nur die Formeln bei Spielstart wieder setzen.
Gruß Uwe
Hallo,
vielen Dank für deine Mühe, aber irgendwas stimmt da noch nicht.
Hast du meinen letzten Code mit eingebunden? Der sollte dafür da sein das ich in den Zellen B7:G46 nicht immer ein = setzen muss im z.B. zu addieren.
Registriert seit: 16.10.2017
Version(en): Office 2016
Moin Uwe,
ich danke dir für deine Mühe.
Ich habe es grade mal getestet und in der ersten Spalte funktioniert es.
In den anderen Spalten ist es so, dass wenn er da einmal wieder auf 0 gesetzt hat, er anfangt beim weiter addieren Zahlen aus den anderen Spalten mit einzubeziehen.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
ja, das konnte so nicht klappen. Mein Fehler.
Teste mal damit:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntResult As Variant
If Not Intersect(Target, Range("$B$7:$G$46")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
vntResult = Evaluate(Target.Value)
If Not IsError(vntResult) Then
Target.Value = vntResult
Else
Target.Value = ""
End If
'Formel anpassen bei 3 Nullen
If Target.Row > 8 Then
With Target.Offset(-2).Resize(3)
If Application.WorksheetFunction.Count(.Value) Then
If Application.Sum(.Value) = 0 Then
Cells(3, Target.Column).Formula = "=SUM(" & Target.Address(0, 0) & ":" & Cells(46, Target.Column).Address(0, 0) & ")"
End If
End If
End With
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Gruß Uwe
Registriert seit: 16.10.2017
Version(en): Office 2016
18.10.2017, 19:22
(Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2017, 19:23 von genossealex.)
Hallo Uwe,
also aktuell scheint alles zu funktionieren wie es gedacht war :19:
Ich werde es am Freitag nochmal im aktiven Gebrauch testen.
Heute bist du mein Tagesheld :100:
DANKE
Gruß Alex