Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Fehlersuche Ereignismakro

Forumthread: Fehlersuche Ereignismakro

Fehlersuche Ereignismakro
07.11.2025 13:58:46
Holzwurm
Das nachfolgende Ereignismakro soll immer dann die Formel in der Spalte C in einen Wert umwandeln und die Zelle grün einfärben, wenn der Wert in Spalte B > 1 ist.
Der Cursor soll aber in der Spalte B bleiben ( erste leere Zelle). Bis jetzt wird nur die Formel berechnet, da B in der Formel enthalten ist.
Wo ist bitte der Casus knacktus ?
Optimal wäre noch eine grüne Einfärbung der eingefrorenen Zelle.
Herzlichen Dank für die Mühe
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 14:10:04
Onur
Das nachfolgende Ereignismakro ????? Hat der Zug Verspätung oder wann kommt er ?
AW: Fehlersuche Ereignismakro
07.11.2025 14:28:39
Holzwurm
Sorry, " die Bahn hatte Verspätung"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Dim rowIdx As Long

' Nur Spalte B überwachen
Set rng = Intersect(Target, Me.Columns("B"))
If rng Is Nothing Then Exit Sub

Application.EnableEvents = False
On Error GoTo 0

For Each cell In rng
If IsNumeric(cell.Value) Then
If cell.Value > 0 Then
rowIdx = cell.Row
' Wert in C der gleichen Zeile einfrieren
Me.Cells(rowIdx, "C").Value = Me.Cells(rowIdx, "C").Value
End If
End If
Next cell

'Application.EnableEvents = True

End Sub
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 14:42:36
daniel
Hi

du musst zuerst abfragen, ob es eine Schnittmenge gibt, erst danach darfst du die Schnittmenge einer Variablen zuweisen.
If not  Intersect(Target, Me.Columns("B")) then

Set rng = Intersect(Target, Me.Columns("B"))

ist zwar blöd, dass man Intersect 2x ausführen muss, aber ist leider so.

stehen in Spate B Konstanten oder Formeln?
das Change-Event wird nur aktiv, wenn du Konstantwerte änderst oder den Formeltext einer Formel.
ändert sich der Zellwert einer Zelle mit Formel aufgrund einer Neuberechnung, so ist die Zelle mit dieser Formel nicht Teil von Target.

Gruß Daniel
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 16:11:45
Holzwurm
Das paßt perfekt ! Danke
AW: Fehlersuche Ereignismakro
07.11.2025 15:01:04
Holzwurm
In Spalte B steht eine Formel:
=WENN(B2>0;JETZT()-WAHL(D2;Start1;Start2;Start3);"")
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 14:29:33
daniel
Hallo Holzwurm
du musst auch den Link auf die hochgelandene Datei kopieren und in deinen Beitrag einfügen, damit wir die Datei öffnen können.
Und stelle bitte den Link in eine eigene Zeile, ohne weiteren Text oder Satzzeichen direkt davor oder danach

Gruß Daniel
AW: Fehlersuche Ereignismakro
07.11.2025 16:08:10
daniel
Hi
ich halte nichts davon, Formeln zu überschreiben.
ich würde hier in eine weitere Spalte "hart" die Ankunftszeit als Uhrzeit eintragen und dann kannst du die Laufzeit mit einer immer vorhandenen Formel berechnen.
du kannst dann die aktuelle Uhrzeit auch ohne Makro mit der Taste STRG+":" in die Zelle schreiben.
Dann hast du auch genügend Zeit, um die Startnummer nachzutragen oder ggf hinterher die Zeit zu korrigieren, falls erforderlich.
teste das erstmal ohne Makro, dann kann man das Eintragen der Zeit immer noch nachträglich automatisieren.

noch ein Tipp: wenn du mit reinen Zeiten arbeitest, solltest du auch immer (JETZT()-HEUTE()) rechnen, denn sonst hat du das Datum immer mit drin.
die Formatierung blendet es zwar aus, aber besser ist halt ohne.

Gruß Daniel
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 16:18:26
Holzwurm
Hallo Daniel,
habe schon alles probiert;
bei 800 Läufern in einer Stunde hast du keine Zeit.
Ich nehme die Startnummern per drahtlosem Barcodescanner
im Zielbereich (in Excel) auf und lasse dann per Ereignis (s.o.) die Zeit ergänzen.
Ein neuer Scanner ist in Aussicht, der auch die Zeit protokolliert.
Dann sind diese Sorgen Geschichte.
Dir ganz herzlichen Dank
Heiner
Anzeige
AW: Fehlersuche Ereignismakro
07.11.2025 16:30:49
daniel
Hi
ja, passt doch.
Barcodescanner ist wie Tastatureingabe, dh es ist am einfachsten, wenn das Makro beim Schreiben der Startnummer in Spalte B die aktuelle Zeit eine freie Spalte in der gleichen Spalte schreibt.
die Laufzeit kannst du dann mit der Formel berechnen in einer weiteren Spalte berechnen. Aber diese Formel bleibt unangetastet.

als Makro würde dann reichen, wenn die Ankunftszeit in Spalte C geschrieben werden soll:

If not Intersect(Target, Columns(2)) is nothing then
Application.EnableEvents = False
Intersect(Columns(3), Intersect(Target, Columns(2)).EntireRow).Value = Time
Application.EnableEvents = true
End if
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18