Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Counter

Counter
29.12.2007 14:51:29
Karel
Hallo Forum,
Zähler lauft bei eintrag von Null (0) im Bereich von F10:F30
Frage: 1) wenn wert grosser als null ist, muss Zähler wider auf leer gesetzt werden also kein Null.
2) Bereich F10:F30 wird über sverweis von andere Tabelle eingetragen habe problem mit Calculate.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim reihe As Long
If Not Intersect(Target, Range("F10:F30")) Is Nothing Then
If Target.Value = "0" Then
reihe = Target.Row
Range("H" & reihe).Value = Range("H" & reihe).Value + 1
End If
End If
End Sub


Grusse
Karel

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Counter
30.12.2007 13:42:54
Holger
Hallo Karel,
versuche es mit:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim reihe As Long
If Not Intersect(Target, Range("F10:F30")) Is Nothing Then
reihe = Target.Row
If Target.Value = "0" Then
Range("H" & reihe).Value = Range("H" & reihe).Value + 1
Else
Range("H" & reihe).Value = ""
End If
End If
End Sub


Dein zweites Problem habe ich nicht verstanden.
Viel Erfolg
Holger

AW: Zellwerte durch Berechnung
30.12.2007 15:13:00
Karel
Hallo Holger,
viele danke für deine Lösung,
mein zweite Problem ist dass bei direkte eingabe in zelle F10:F30 dass Makro problemlos Funktioniert.
aber in die Zellen F10:F103 werden über eine Formel Werte geschrieben,
wenn sich die Zellwerte durch Berechnung ändern, tritt das Change-Ereignis nicht auf!
Grusse
Karel

Anzeige
AW: Zellwerte durch Berechnung
30.12.2007 18:15:37
Daniel
Hi
nein, das Change-Ereignis tritt nur ein, wenn sich die Formeln der Zelle ändern, nicht die berchneten werte.
dafür gibts dann dann das CALCULALTE-Ereignis, daß jedesmal eintritt, wenn eine neuberechnung der Formeln erfolgt.
um hier allerdings festzustellen, ob sich ein Wert geändert hat, müssteset du den alten Wert der Zellen an einerer anderen Stelle sichern (als Fix-Wert, nicht als Formel) um hin dann mit dem neuen Wert zu vergleichen. Das könnte in deinem Fall dann so aussehen:
die alten Werte werden direkt dahinter in Spalte G gesichert und verglichen

Private Sub Worksheet_Calculate()
Dim Zelle As Range
For Each Zelle In Range("F10:F30")
If Zelle.Value = Zelle.Offset(0, 1).Value Then
'Hier den Code einfügen der ablaufen soll, wenn sich nichts gändert hat
Else
'hier den Code einfügen, der ablaufen soll, wenn sich der Wert gändert hat
Zelle.Offset(0, 1).Value = Zelle.Value 'neuen Wert speichen
End If
Next
End Sub


Gruß, Daniel

Anzeige
AW: Zellwerte durch Berechnung
30.12.2007 18:52:54
Karel
Hallo Daniel,
Wert wird in spalte G gespeichert aber,
kannst du mich noch erklären wie der Counter dann reagiert.
Grusse
Karel

AW: Zellwerte durch Berechnung
30.12.2007 18:56:00
Daniel
HI
montentan noch gar nicht.
das Makro prüft bei eine Neuberechnung lediglich, ob ich ein Wert verändert hat oder nicht.
Den Counter musst du noch entsprechend in dieses Makro integrieren.
Gruß, Daniel

AW: Zellwerte durch Berechnung
30.12.2007 20:58:47
Karel
Hallo Daniel,
Hilfe, Komme leider nicht weiter wie muss ich der Counter integrieren ?
Gruss
Karel

AW: Zellwerte durch Berechnung
01.01.2008 15:25:54
Daniel
Hi
an der entsprechenden Stelle im Makro einfügen
ich hab ja dazugeschreiben, welcher teil durchlaufen wird, wenn sich eine Zelle nicht ändert und welcher durchlaufen wird, wenn sich was geändert hat. an dieser Stelle musst du deinen counter einbauen.
Gruß, Daniel

Anzeige
AW: Zellwerte durch Berechnung
01.01.2008 17:36:00
Karel
Hallo Daniel,
tut mir leid aber ich bin total auf dem Holzweg habe mehrere ansatze probiert aber ohne ergebnis
sollte net sein wenn du mich schritt für schritt weiter fürs.

Private Sub Worksheet_Calculate()
Dim Zelle As Range
For Each Zelle In Range("F10:F30")
If Zelle.Value = Zelle.Offset(0, 1).Value Then
'Hier den Code einfügen der ablaufen soll, wenn sich nichts gändert hat
Range("F10:F30").Value = ""
Else
'hier den Code einfügen, der ablaufen soll, wenn sich der Wert gändert hat
If Zelle.Value = "0" Then
Range("F10:F30").Value = Range("F10:F30").Value + 1
Zelle.Offset(0, 1).Value = Zelle.Value 'neuen Wert speichen
End If
End If
Next
End Sub


Grusse
Karel

Anzeige
AW: Zellwerte durch Berechnung
01.01.2008 21:30:00
Daniel
Hi
wenn du nochmal genau beschreibst, was wann genau gezählt werden soll
bisther werd ich aus deiner Beschreibung nicht so ganz schlau.
aber mach mal nen neuen Tread, ich bin jetzt 2 Tage weg
Gruß, Daniel

AW: Zellwerte durch Berechnung
01.01.2008 22:09:00
fcs
Hallo Karel,
hier nochmals ein Beispiel, wie es gehen könnte. Das Deaktivieren/Aktivieren der Ereignismakros ist erforderlich, damit ggf. das Ändern der Zellwerte in Spalte H und in der Hilfsspalte zum Merken des neuen Eintrags nicht immer wieder die Neuberechnung oder sonstige Aktionen auslöst.
Sie Spalte zum Merken des Rechenergebnisses nuss du ggf. Anpasen.
Gruß
Franz

Private Sub Worksheet_Calculate()
Dim Zelle As Range
Application.EnableEvents = False
'Wert in Bereich prüfen
For Each Zelle In Range("F10:F30")
If IsError(Zelle.Value) Then 'SVERWEIS gibt kein Ergebnis
'do nothing
Else
If Zelle.Value  Cells(Zelle.Row, 9).Value Then
'hier den Code einfügen, der ablaufen soll, wenn sich der Wert gändert hat
If Zelle.Value = 0 Then
'Zähler in Spalte H um 1 erhöhen
Cells(Zelle.Row, 8).Value = Cells(Zelle.Row, 8).Value + 1
ElseIf Zelle.Value > 0 Then
'Zähler in Spalte H zurücksetzen (löschen)
Cells(Zelle.Row, 8).ClearContents
End If
'Neues Ergebnis aus Spalte 6 (F) in Spalte 9 (I) merken
Cells(Zelle.Row, 9).Value = Zelle.Value
Else
'hier den Code einfügen, der ablaufen soll, wenn sich der Wert nicht gändert hat
'do nothing
End If
End If
Next
Application.EnableEvents = True
End Sub


Anzeige
AW: Zellwerte durch Berechnung
02.01.2008 10:51:41
Karel
Hallo Franz,
ein Frohes und gesundes Neujahr, an alle noch
im Tabelle "Bestand-Lag" werden Daten eigelesen, immer wenn ein Artikel Bestand "0" hat muss der Zähler mit ein erhöht werden. Hintergrund ist dass ich kann sehn wie lange ein bestimmtes Artikel nicht mehr verfügbar ist. Wenn wieder Bestand da ist dann Zählerstand näturlich leer.
Habe beispiel datei angehangt
https://www.herber.de/bbs/user/48752.xls
grusse
Karel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige