Anzeige
Archiv - Navigation
136to140
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
136to140
136to140
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eingabefeld einfärben

Eingabefeld einfärben
12.07.2002 18:20:42
Rainer
Ich stöbere als Anfänger schon mehrere Stunden hier rum und bin auch fast fündig geworden, aber leider färbt mir das Ding die ganze Zeile und nicht die Zelle.
Für Euch Profis sicher 'ne Kleinigkeit.

nachfolgender Code färbt die ganze Zelle in gelb.
Diesen Codeteil bitte in einem Modul der entsprechenden
Mappe kopieren:
Dim ranAltBereich As Range
Dim lngColorIndex(1 To 256) As Long
Dim bolDynMauszeiger As Boolean

Sub MarkierungEin(ByVal Target As Excel.Range)
Dim ranZelle As Range
Dim x As Integer

If bolDynMauszeiger = False Then Exit Sub

If Not ranAltBereich Is Nothing Then
x = 0
On Error Resume Next

For Each ranZelle In ranAltBereich
x = x + 1
ranZelle.Interior.ColorIndex = lngColorIndex(x)
Next

End If

Set ranAltBereich = _
Range("A" & Target.Row & ":IV" & Target.Row)
x = 0

For Each ranZelle In ranAltBereich
x = x + 1
lngColorIndex(x) = _
ranZelle.Interior.ColorIndex
Next

Target.EntireRow.Interior.Color = RGB(255, 255, 200)

End Sub

Sub MarkierungAus()
Dim x As Integer
Dim ranZelle As Range

If Not ranAltBereich Is Nothing Then
x = 0

For Each ranZelle In ranAltBereich
x = x + 1
ranZelle.Interior.ColorIndex = lngColorIndex(x)
Next

End If
End Sub

Sub MauszeigerEinschalten()
bolDynMauszeiger = True
End Sub

Sub MauszeigerAusschalten()
MarkierungAus
bolDynMauszeiger = False
End Sub

Den jetzt folgenden Code bitte in "diese Arbeitsmappe" kopieren:

Private Sub Workbook_SheetSelectionChange(ByVal sh _
As Object, ByVal Target1 As Excel.Range)
MarkierungEin Target1
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MarkierungAus
End Sub



5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Eingabefeld einfärben
12.07.2002 18:26:29
Hajo_Zi
Hallo Rainer

was möchtest Du den. Die gerade aktive Zelle anders färben???

Folgender Code in ein Modul

Gruß Hajo

Re: Eingabefeld einfärben
14.07.2002 21:36:35
Rainer
Erst mal tausend Dank an Hajo, aber auch die anderen, die hier so dummies wie mir weiterhelfen. Genau das sollte es sein, was du da rübergeschickt hast, bis auf zwei kleine Eigenarten (Blattwechsel, Blattschutz) klappt auch alles.
Ich wollte das für mehrere 3 von 6 Arbeitsblättern nutzen, wenn ich das in alle 3 Arbeitsblätter kopiere, klappt das auch gut mit dem Einfärben nur wenn ich in ein anderes wechsle und wieder zurück kehre und das öfter ist bald das ganze Blatt rot, Irgendwie scheint er da was zu vergessen, rücksetzen auch bei ABlattwechsel.
Ja dann habe ich das ABlatt noch mit Schutz versehen, damit mit Tab nur an bestimmte Zellen (zur Einagbe) gesprungen wird. Dann kommt auch gleich noch ein Laufzeitfehler daher immer genau dann wenn er die Zelle auf rot setzen soll (auch wenn ich mich in einer nicht gesperrten Zelle befinde):
' Setze Hintergrundfarbe der aktiven Selection auf Rot
Target.Interior.ColorIndex = 3

Anzeige
Re: Eingabefeld einfärben
14.07.2002 21:41:19
Hajo_Zi
Hallo Rainer

ich habe es bisher nur mit einem Register getestet. Aber soweit ich meinen Code überblicke muß Du für jedes Register eine einzelne Variable setzen. Das ist mir jetzt leider zu spät und zu Aufwendig um jetzt noch den Code zuerstellen. Sowas muß ich schon am Wochenende machen.

Gruß Hajo

Re: Eingabefeld einfärben
15.07.2002 06:54:47
Hajo_Zi
Hallo Rainer

so mal auf die schnelle. Bitte schreibe mir per Mail ob es geht da ich es nicht umfangreich getestet habe.

in ein Modul

kein Code mehr in den Tabellen.

Gruß Hajo

Re: Eingabefeld einfärben
16.07.2002 12:31:22
rainer
Lieber Hajo,

erst mal vielen Dank für dein Gehirnschmalz ..., das mit dem Arbeitsblatt wechsel klappt jetzt super.
Und ich habe auch eine Idee warum das mit der Fehlermeldung (Laufzeitfehler 1004) erscheint. Wenn der Schutz aktiviert ist/wird, darf die Farbe per Def, ja nicht mehr geändert werden; daher die Fehlermeldung.
Also sehe ich nur eine Lösung:
Vor dem Ändern prüfen, ob die Zelle gesperrt ist, wenn ja NIX tun (oder zur nächsten nicht geschützten Zelle springen, wäre noch genialer), sonst einfärben.

So weit zur Theorie: Wie's dann in der Praxisprogrammierung aussieht ? in so antiquierten Sparchen, die ich mal gelernt habe kein Problem, aber VBA ??? Ich werde mich mal dran versuchen, soll ja üben...

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige