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

Target begrenzen auf Bereich und einzelne Zelle

Target begrenzen auf Bereich und einzelne Zelle
15.11.2005 09:14:20
Thomas
Hallo
Ich habe eine Funktion, die überwacht ob ein bestimmter Buchstabe in "eine" Zelle eingegeben wurde und verändert dann entsprechend die Hintergrundfarbe. Das ganze ist in etwa wie eine bedingte Formatierung mit mehr als 3 Bedingungen.
&ltpre&gt
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "l" Then
Target.Value = "L"
Target.Interior.ColorIndex = 22
End If
If Target.Value = "u" Then
Target.Value = "U"
Target.Interior.ColorIndex = 5
End If
If Target.Value = "k" Then
Target.Value = "K"
Target.Interior.ColorIndex = 3
End If
If Target.Value = "d" Then
Target.Value = "D"
Target.Interior.ColorIndex = 6
End If
If Target.Value = "a" Then
Target.Value = "A"
Target.Interior.ColorIndex = 7
End If
If Target.Value = "v" Then
Target.Value = "V"
Target.Interior.ColorIndex = 17
End If
End Sub&lt/pre&gt
Das ganze soll zum einen nur auf einen bestimmten Bereich angewendet werden und zum anderen immer nur auf "eine" Zelle. z.Z. ist es so, wenn ich mehrere Zellen kopiere und wo anders einfüge, erhalte ich einen Laufzeitfehler und der Debugger bleibt in der ersten Zelle (If Target.Value = "l" Then)hängen. Dasselbe tritt auf, wenn sich die Inhalte mehrerer Zellen verändern. Was muß ich tun, damit der Laufzeitfehler nicht auftritt, oder kann man die Ausgabe des Fehlers blockieren?
Gruß Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target begrenzen auf Bereich und einzelne Zelle
15.11.2005 09:27:48
Stefan
Hallo,
willst du nur auf die erste Zelle zugreifen, mußt du wie folgt verfahren:
select case Target(1,1)
case "I"
Target(1,1).Interior.ColorIndex = ...
...
Gruß Stefan
AW: Target begrenzen auf Bereich und einzelne Zelle
15.11.2005 09:30:04
Heiko
Hallo Thomas,
so könnte es gehen, bei soviel if´s bietet sich die Select Case Methode an

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngUnion As Range, rngUBereich As Range
' Abfangen mehr als eine Zelle
If Target.Count > 1 Then Exit Sub
' nur für einen bestimmten Bereich.
Set rngUBereich = Range("A1:D40")  ' Oder auch "A1:A20,C1:C20" oder "A1:A100" ...
Set rngUnion = Application.Union(Range(Target.Address), rngUBereich)
If rngUnion.Address <> rngUBereich.Address Then Exit Sub
Select Case Target.Value
Case "l"
Target.Value = "L"
Target.Interior.ColorIndex = 22
Case "u"
Target.Value = "U"
Target.Interior.ColorIndex = 5
Case "k"
Target.Value = "K"
Target.Interior.ColorIndex = 3
Case "d"
Target.Value = "D"
Target.Interior.ColorIndex = 6
Case "a"
Target.Value = "A"
Target.Interior.ColorIndex = 7
Case "v"
Target.Value = "V"
Target.Interior.ColorIndex = 17
End Select
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Target begrenzen auf Bereich und einzelne Zell
15.11.2005 09:37:16
Thomas
Spitze. Das funktioniert super.
:):):)
Danke
Gruß Thomas

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige