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

Zellen einfärben

Zellen einfärben
16.10.2007 11:29:31
Mister
Hallo Zusammen,
hab heute ein super Makro hier im Archiv gefunden, dass alle Tabellen meiner Datei nach einem bestimmten Inhalt durchsucht. Die Übereinstimmung wird angezeigt. Hier meine Frage:
Ist es möglich, dass die Zelle in der sich die Übereinstimmung befindet und die Nachbarzelle (nach rechts) sich gelb färben (eine Art Highlight). Bewegt man sich von der Zelle weg, soll die gelbe Färbung sich aufheben? Das Makro sieht so aus:

Sub DatenSuchen(control As IRibbonControl)
Dim Zelle As Range
Dim Blatt As Worksheet
Dim str As String
str = InputBox _
("Bitte geben Sie den Namen des gesuchten Kollegen ein!")
If str = "" Then Exit 

Sub   'Suche wird nicht begonnen
For Each Blatt In ActiveWorkbook.Sheets
Blatt.Activate
ActiveSheet.UsedRange.Select
For Each Zelle In Selection
If Zelle = str Then
Zelle.Select
Exit Sub
End If
Next Zelle
Next Blatt
MsgBox "Es wurde keine Übereinstimmung gefunden!"
End Sub


Danke für eure Hilfe
Gruß
Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen einfärben
16.10.2007 12:52:00
fcs
Hallo Martin,
ich verstehe im Moment nicht den Sinn der Variablen "control", aber grundsätzlich geht es wenn du nachfolgende Anpassungen machst.
1. Die Variablen für die markierte Zelle und die Farben in einem allgeneine Modul als Public deklarieren, damit diese zwischengespeichert werden können.

Option Explicit
Public ZelleColor As Range, Color1 As Long, Color2 As Long


2. Die Prozedur anpassen zum Speichern der markierten Zelle und der Farben


Sub DatenSuchen(control As IRibbonControl)
'Sub DatenSuchen()
Dim Zelle As Range
Dim Blatt As Worksheet
Dim str As String
str = InputBox("Bitte geben Sie den Namen des gesuchten Kollegen ein!")
If str = "" Then Exit Sub   'Suche wird nicht begonnen
For Each Blatt In ActiveWorkbook.Worksheets
Blatt.Activate
For Each Zelle In Blatt.UsedRange
If Zelle = str Then
Zelle.Select
Set ZelleColor = Zelle
Color1 = Zelle.Interior.ColorIndex
Color2 = Zelle.Offset(0, 1).Interior.ColorIndex
Zelle.Range("A1:B1").Interior.ColorIndex = 6
Exit Sub
End If
Next Zelle
Next Blatt
MsgBox "Es wurde keine Übereinstimmung gefunden!"
End Sub


3. Unter "DieseArbeitsmappe" eine Prozedur einfügen, so dass bei Auswahl einer anderen Zelle _ die Farben zurückgesetzt werden. Evtl. bekommt man es ja auch hin via Mausbewegung, da kenne ich mich aber nicht aus.


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Not ZelleColor Is Nothing Then
ZelleColor.Interior.ColorIndex = Color1
ZelleColor.Offset(0, 1).Interior.ColorIndex = Color2
Set ZelleColor = Nothing
End If
End Sub


Anzeige
AW: Zellen einfärben
17.10.2007 08:31:00
neuer
Danke,
das ist genau was ich gesucht habe!
Gruß
Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige