Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change

Worksheet_Change
17.09.2007 17:23:16
Artur
Hallo User,
Warum funktioniert der Befehl -Private Sub Worksheet_Change(ByVal Target As Range)- nicht immer. Wird der Code über eine Schaltfläche angestoßen, wird dieser abgearbeitet. In diesem Fall werden Zellen nach Zellinhalt farbig eingefärbt. ( z. B. 3 = Rot )
Gruß Artur

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change
17.09.2007 17:29:00
Renee
Hi Artur,
Formatierungen von Zellen werden nicht als Change-Ereignis deklariert und erkannt.
Das Change Ereignis tritt nur ein, wenn sich der Zellinhalt (.Value) verändert.
GreetZ Renee

AW: Worksheet_Change
17.09.2007 17:32:00
Artur
Hallo Renee
Teil vom Code
For Each cell In Range("a18:s18")
If cell.Value = "3" Then
cell.Font.ColorIndex = 3
cell.Interior.ColorIndex = 3
End If
Gruß Artur

und was willst Du mir damit...
17.09.2007 17:37:00
Renee
mitteilen.
Ich seh was Dein Code macht, aber das Problem bleibt mir verborgen...
GreetZ Renee

AW: und was willst Du mir damit...
17.09.2007 17:40:00
Artur
Hallo Renee,
der Code läuft nur wenn ich ihn über eine Schaltfläche anstoße, innerhalb von Private Sub Worksheet_Change(ByVal Target As Range) läuft der nicht automatisch ab.
Gruß Artur

Anzeige
ist logisch ;o)
17.09.2007 19:32:24
Matthias
Hallo
so gehts:
Code in die entsprechende Tabelle!

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Variant
If Not Intersect(Target, Range("A18:S18")) Is Nothing Then
For Each C In Range("A18:S18")
If C.Value = 3 Then
C.Font.ColorIndex = 3
C.Interior.ColorIndex = 3
End If
Next
End If
End Sub


Userbild

AW: ist logisch ;o)
17.09.2007 20:31:00
Artur
Hallo Matthias L,
geht leider nicht, er meckert mir eine Variable an die nicht defeniert ist ( Target )
https://www.herber.de/bbs/user/46111.xls
Gruß Artur

Anzeige
ist auch logisch ;o)
17.09.2007 20:55:09
Matthias
Hallo
entweder so:
bei Klick auf ein Button

Option Explicit
Private Sub CommandButton1_Click()
Dim C As Variant
For Each C In Range("A18:s18")
If C.Value = 3 Then
C.Font.ColorIndex = 3
C.Interior.ColorIndex = 3
End If
Next
End Sub


oder so:
bei Zelländerung
Wenn im Bereich A18:S18 eine Zelle geändert wird greift das Makro
Außerhalb des Bereiches passiert nichts
für die 3 ist dann die for Each-Schleife zuständig


Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Variant
If Not Intersect(Target, Range("A18:s18")) Is Nothing Then
For Each C In Range("A18:s18")
If C.Value = 3 Then
C.Font.ColorIndex = 3
C.Interior.ColorIndex = 3
End If
Next
 End If
End Sub


Userbild

Anzeige
AW: ist auch logisch ;o)
17.09.2007 21:05:01
Artur
Hallo Matthias L,
leider komme ich mit Deiner Lösung nicht weiter. Jetzt meckert er einen Laufzeitfeheler 2 - Objekt fehlt an. Die Lösung mit dem Button kann ich leider nicht gebrauchen, in meiner Mappe war der Button nur zum Probieren gesetzt worden.
Gruß Artur

AW: mein letzter Versuch ...
17.09.2007 21:43:00
Artur
Hallo Matthias L,
vielen Dank für Deine Bemühungen, da ich jetzt Feierabend habe komme ich leider erst morgen dazu, mir Deine Lösung anzusehen.
Gruß Artur

Anzeige
kleine Verbesserung mit Erklärung ;o)
18.09.2007 05:36:00
Matthias
Hallo Artur
hier nochmal etwas verbessert. Evtl. kommst Du damit besser klar.
https://www.herber.de/bbs/user/46121.xls
Das mit dem letzten Versuch, war für den gestrigen Tag gemeint ;o)
Frag einfach nach,
vor allem aber musst Du genau erklären - was, wann, passieren soll !
Userbild

Textkorrektur !
18.09.2007 05:40:00
Matthias
Hi
Der Text: ändere in dem Zahlenbereich eine Zelle auf 3 und diese Zelle wird Rot in der Datei ist falsch!
Es sollte heißen alle Zellen im Bereich mit Value=3 werden Rot.
Userbild

Anzeige
AW: Textkorrektur !
18.09.2007 15:02:45
Artur
Hallo Matthias L,
zunächst möchte ich mich recht herzlich für Deine Mühe bedanken. Den von Dir als letztes geposter Code lief bei mir. Beim öffnen der Mappe heute liefen auch wieder der von mir erstellte Code wieder. Ich habe aber nichts verändert, aus welchen Gründen kann der gleiche Code einmal laufen und das nächste mal nicht. Vielleicht hast Du ja eine Erklärung.
Gruß Artur

AW: Textkorrektur !
18.09.2007 18:21:11
Matthias
Hallo Artur
Nur Interssehalber,
welchen Code hast Du denn benutzt ?
den hier: https://www.herber.de/forum/messages/908172.html von 18.09.2007 05:36:03 ?
Warum der Code bei Dir einmal läuft und einmal nicht, kann ich Dir nicht beantworten.
Evtl. war zu irgend einem Zeitpunkt der Entwurfmodus aktiviert.
oder so etwas, wie im Bild:
das passiert z.B bei einem Fehler! Wenn Du dann auf Debuggen klickst siehst Du ja den Codeabschnitt der den Fehler auslöste. Vieleicht hast Du danach nicht richtig beendet.
Userbild
Aber es sind nur Vermutungen, woran es letztendlich lag weiß ich nicht.
Userbild

Anzeige
AW: Textkorrektur !
19.09.2007 14:29:00
Artur
Hallo Matthias l.
ich habe nicht Deinen Code benutzt sondern den von mir geposteten. Im Entwurfsmodus war nicht und war auch kein Code im Haltemodus. Vielleicht liegt es ja nur an Mst. Geates.
Gruß Artur

Das Problem sitzt meist vor dem Screen owT
19.09.2007 14:32:00
Renee

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige