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

Ereignis beim Verlassen einer Zelle

Ereignis beim Verlassen einer Zelle
26.07.2003 15:45:44
Frank
Hallo Forum,
ich möchte nach der Eingabe einer Zelle ein Event auslösen. So soll z.B. folgendes abgefragt werden:
Zellwert 0-100 - FontColor = grün
Zellwert 101-200 - FontColor = blau
Zellwert 201-300 - FontColor = gelb
usw...
Ich möchte jetzt, dass die Zelle direkt nach der Eingabe eingefärbt wird. Gibt es so etwas wie ein "Zelle_LostFocus - Event"? Ich möchte nicht auf eine Schaltfläche drücken oder eine Tastenkombination ausführen sondern die Prüfung soll direkt Verlassen der Zelle erfolgen.
Wäre schön, wenn mir jemand helfen könnte.
Charmanten Tag noch!
Frank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignis beim Verlassen einer Zelle
26.07.2003 16:19:59
PeterW
Hallo Frank,
benutze das Worksheet_Change-Ereignis. Rechtsklick auf das Tabellenregister, Code anzeigen, in das sich öffnende Fenster folgenden Code kopieren:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(1, Target.Address, ":") > 0 Then Exit Sub
Select Case Target
Case Is > 200
Target.Interior.ColorIndex = 3
Case Is > 150
Target.Interior.ColorIndex = 4
Case Else
Target.Interior.ColorIndex = xlNone
End Select
End Sub

Gruß
Peter

AW: Ereignis beim Verlassen einer Zelle
26.07.2003 16:27:57
Gert Seler
Hallo Frank,
Schreibe in VBA:
Public

Sub BedingteFormatierung()  ' Bedingte Formatierung mit mehr als 3 Farben
DIM zeile As Range
DIM wert = zeile.Value
For Each zelle In Selection
wert = zelle.Value
Select Case wert
Case 1 To 100
zelle.Interior.ColorIndex = 4  'hellgrün
Case 100 To 200
zelle.Interior.ColorIndex = 6  'Gelb
usw
End Select
Next zelle
End Sub

mfg
Gert

Anzeige
Danke - Euch beiden
26.07.2003 16:57:14
Frank
Danke, für Eure schnellen Antworten.
@Peter:
Mir ging es hauptsächlich das auszulösende Ereignis. Dieses hast Du ja in Deinem Code sauber gelöst. Wenn ich die InStr-Funktion auskommentiere, läuft das Programm aber ebenfalls mit dem gewünschten Ergebnis. Was hat diese Funktion für eine Funktion (blöde Frage, aber ich glaube Du weisst, was ich meine!)?
Servus
Frank

AW: Danke - Euch beiden
26.07.2003 17:15:31
PeterW
Hallo Frank,
mit Instr wird nur geprüft, ob sich mehr als eine Zelle verändert hat (bei mehreren Zellen wäre Target.Address sowas wie $A$1:$B$2, also mit einem Doppelpunkt). Kommentiere die Zeile mal aus und lösche statt einer einzelnen Zelle einen Zellbereich.
Noch sauberer wäre der Weg mit Worksheet_Selection-Change nur die Anwahl einer Zelle zu zulasssen (gehört in das gleiche Modul):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If InStr(1, Target.Address, ":") > 0 Then ActiveCell.Select
End Sub

Gruß
Peter

Anzeige
AW: Danke - Euch beiden
26.07.2003 17:44:02
Fran
Yo Peter,
that´s it. Nochmals Danke!!!
Servus
Frank

AW: Danke - Euch beiden
27.07.2003 09:59:05
Nepumuk
Hallo Peter,
da musst du nicht die InStr - Funktion bemühen. Einfach:
If Target.Count > 1 Then
Gruß
Nepumuk

40 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige