Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zähler bei null werte

Zähler bei null werte
09.01.2008 17:50:00
Karel
Hallo Forum,
Finde meine alte Tread nicht mehr
im Tabelle "Auswertung" werden Daten eigelesen, immer wenn dann ein Artikel Bestand "0" hat muss der Zähler mit 1 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.
Sehr schön ist wenn Daten nur am "Freitag" aktualiseerd werde können.
Problem ist dass der bezug auf zelle über ein Formel kommen.
Als hilfe beispiel:
https://www.herber.de/bbs/user/48911.xls
von Holger kommt dieses MAKRO wass genau dass richtige macht, aber nur bei manuelle eingaben.

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


von Franz habe ich noch eine ergänzung bekommen


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


Hilfsspalte mit Formel Funktioniert aber hochzählen von nullwerte nicht
Grusse
Karel

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zähler bei null werte
09.01.2008 19:40:34
Holger
Hallo Karel,
das Change-Ereignis tritt ein, wenn Zellen des Tabellenblattes durch den Benutzer oder durch eine externe Verknüpfung geändert werden. Offenbar führst du die Änderung anders aus. Kannst du beschreiben, wie du das machst?
Gruß
Holger

AW: Zähler bei null werte
09.01.2008 20:25:18
Karel
Hallo Holger,
Daten werden in Tabelle "Bestand-Lag" regelmaßig reinkopiert.
in Tabelle "Auswertung" werden daten mit Formel Sverweis eingelesen, und dabei gibt es problemen mit der code. Sehe beispiel
Grusse
Karel
Ps makro darf nur am Freitag Laufen Datum steht in Tabelle "Bestand-Lag" zelle F1

Anzeige
AW: Zähler bei null werte
09.01.2008 20:27:00
Karel
Hallo Holger,
Daten werden in Tabelle "Bestand-Lag" regelmaßig reinkopiert.
in Tabelle "Auswertung" werden daten mit Formel Sverweis eingelesen, und dabei gibt es problemen mit der code. Sehe beispiel
Grusse
Karel
Ps makro darf nur am Freitag Laufen Datum steht in Tabelle "Bestand-Lag" zelle F1

AW: Zähler bei null werte
10.01.2008 10:09:31
Holger
Hallo Karel,
mit dem Hineinkopieren wird das Calculate-Ereignis ausgelöst. Deshalb sollte folgende Code funktionieren:

Private Sub Worksheet_Calculate()
Dim Zelle As Range
Application.EnableEvents = False
For Each Zelle In Range("F10:F30")
If Zelle.Value = "0" Then
Cells(Zelle.Row, 8).Value = Cells(Zelle.Row, 8).Value + 1
Else
Cells(Zelle.Row, 8) = ""
End If
Next
Application.EnableEvents = True
End Sub


Bitte teile das Ergebnis mit. Viel Erfolg
Holger

Anzeige
AW: Zähler bei null werte
10.01.2008 22:56:31
Karel
Hallo Holger,
Habe dein Makro getestet, ein sache ist mir aufgefalle wenn ich in Tabelle "Bestand-Lag" meine Daten erst Löschen, und bevor ich dann neue Daten Hineinkopieren, werden alle Nullwerte mit + 1 erhöht, kann mann dass noch abfangen.
Habe Problem mit start Makro nach wochentag gelöst.

Private Sub Worksheet_Calculate()
If Sheets("Bestand-Lag").Cells(1, 1).Value = "6" Then
'If Cells(1, 1) = "6" Then
Dim Zelle As Range
Application.EnableEvents = False
For Each Zelle In Range("F10:F30")
If Zelle.Value = "0" Then
Cells(Zelle.Row, 8).Value = Cells(Zelle.Row, 8).Value + 1
Else
Cells(Zelle.Row, 8) = ""
End If
Next
Application.EnableEvents = True
End
End If
End Sub


Viele viele dank
Karel

Anzeige
AW: Zähler bei null werte
11.01.2008 11:19:32
Holger
Hallo Karel,
du hast Recht. Es erfolgt auch eine Veränderung, wenn du eine andere Zelle änderst.
Leider wird das Calculate-Ereignis vor dem Change-Ereignis ausgelöst, so dass wir uns etwas anderes überlegen müssen.
Man könnte den Bereich, in den du die Daten hineinkopierst, überwachen, ob er Werte enthält oder nicht. Enthält er Werte, soll die Aktion ausgelöst werden, enthält er keine, nicht. Das stößt auf einige Schwierigkeiten, wenn z.B. der Bereich versehentlich nur teilweise gelöscht wurde. Daher einige Fragen:
Ist der Bereich, in den du hineinkopierst, A10 bis A30?
Enthalten die hinzukopierenden Daten auch Leerfelder ohne einen Wert (0 ist ein Wert!)?
Kopierst du manuell oder über ein anderes Makro?
Werden in der Tabelle andere Zellen manuell bearbeitet oder kann man diese sperren?
Gibt es für die Tabelle andere Kopier- oder Bearbeitungsvorgänge, manuell oder durch Makros?
Wir finden schon eine Lösung
Holger

Anzeige
AW: Zähler bei null werte
11.01.2008 13:34:00
Karel
Hallo Holger,
Daten werden manuel Hineinkopiert in Tabelle "Bestand-Lag" alle Daten habe eine wert es gibt kein Leerfelder. in Tabelle"auswertung werden die Artikeldaten nicht geändert zellen werden nur durch Formel geändert.
Grusse
Karel

AW: Zähler bei null werte
11.01.2008 22:40:55
Gerd
Hallo Karel,
du könntest auf den Eingabebereich (wo reinkopiert wird) bezogen eine Summenformel schreiben u.
dann nur mit dem Worksheet_Calculate arbeiten.
Gruß Gerd

AW: Zähler bei null werte
12.01.2008 21:04:58
Karel
Danke
erledigt
Karel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige