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

Hintergrundfarbe merken

Hintergrundfarbe merken
12.05.2006 10:31:40
harald
Hallo,
ich habe untenstehenden Code bekommen, mit dem die eine best. Zelle markiert wird. Beim ändern der Textbox wird der Hintergrund wieder weiß und die nächste aktuelle Zelle bekommt einen anderen Hintergrund. Nun ist aber der Hintergrund nicht immer weiß, sondern auch mal grün oder rot, was im Programm eingestellt wird.
Wie kann ich nun erreichen, dass die ursprüngliche Hintergrundfarbe gemerkt und nach dem Wechsel wieder eingestellt wird?
Hier ist der bisherige code:

Private Sub Textbox_Change()
'Markiert die Zelle, die mit dem gesuchten Begriff beginnt
Dim Zelle As Range, Bereich As Range
With ActiveSheet
Set Bereich = .Range("A6:A" & .UsedRange.Row + .UsedRange.Rows.Count - 1)
End With
If Textbox.Value <> "" Then
For Each Zelle In Bereich
If LCase(Left(Zelle.Value, Len(Textbox.Value))) = LCase(Textbox.Value) Then
' erstes Auftreten der Zeichenfolge ohne Beachtung von Grossbuchstaben suchen)
Zelle.Activate
Bereich.Interior.ColorIndex = 2
'        Zelle.Interior.ColorIndex = 6
ActiveWindow.ScrollRow = Zelle.Row - 1
' scrollen zu Zeile über markierter Zeile
Textbox.Activate
Exit For
End If
Next Zelle
End If
End Sub

M.f.G.
Harald

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe merken
12.05.2006 14:49:18
Franz
Hallo Harald,
Makro kommt mir etwas bekannt vor :)
Damit die Farbmarkierungen auch dann noch funktionieren, wenn die Zellen verschiedene Farben haben und diese erhalten bleiben sollen, dann sind einige Anpassungen notwendig.
1. am Makro selbst:

Private Sub Textbox_Change()
'Markiert die Zelle, die mit dem gesuchten Begriff beginnt
Dim Zelle As Range, Bereich As Range
With ActiveSheet
Set Bereich = .Range("A6:A" & .UsedRange.Row + .UsedRange.Rows.Count - 1)
End With
If TextBox.Value <> "" Then
For Each Zelle In Bereich
If LCase(Left(Zelle.Value, Len(TextBox.Value))) = LCase(TextBox.Value) Then
' erstes Auftreten der Zeichenfolge ohne Beachtung von Grossbuchstaben suchen)
Zelle.Activate
'in vorheriger Zelle Farbe wieder herstellen
If Zeile > 0 Then
Cells(Zeile, "A").Interior.ColorIndex = Farbe
End If
Zeile = Zelle.Row 'Zeile merken
Farbe = Zelle.Interior.ColorIndex 'Farbe merken
Zelle.Interior.ColorIndex = 6 'Färbt gefundene Zelle gelb
ActiveWindow.ScrollRow = Zelle.Row - 1
' scrollen zu Zeile über markierter Zeile
TextBox.Activate
Exit For
End If
Next Zelle
End If
End Sub

2. In einem Modul
In einem Modul müssen die zwei Merker-Variablen als Public deklariert werden:
Public Zeile As Long, Farbe As Long

3.Unter "DieseArbeitsmappe"
Es muss ein Makro eingefügt werden, dass ggf. vor dem Schließen die Farbe der letzten markierten Zelle zurücksetzt.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Setzt ggf. in Tabelle xyz die Farbe der Zelle zurück
If Zeile > 0 Then
ThisWorkbook.Sheets("Test").Cells(Zeile, "A").Interior.ColorIndex = Farbe
End If
End Sub

Gruß
Franz
Anzeige
AW: Hintergrundfarbe merken
12.05.2006 19:44:19
harald
Hallo Franz,
leider komme ich erst am Montag in der Schule wieder an die Datei, werde es dann aber gleich einbauen und ausprobieren. Vielen Dank nochmals für deine Hilfe!
m.f.g.
Harald

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige