Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen und mark. mit Hilfe einer ComboBox via VBA

Suchen und mark. mit Hilfe einer ComboBox via VBA
Eddie
Guten Morgen,
ich habe ein VBA Funktion, womit man meine Tabelle nach einem bestimmten Wort durchsucht, und dieses dann rot markiert.
Nun will ich aber gerne das durch eine Combo.Box in meinem Formular etwas vereinfachen, indem ich schon ein paar Namen dort habe und diese dann nur noch auswählen muss.
Die ComboBox Daten würde ich mit DatenEinlesen.cboUserList.Value einlesen.
Wie müsste denn die Suchroutine in VBA sein, damit ich den Suchtext direkt von der ComboBox mir auslesen kann ?
Danke und Gruß
Eddie
Code:

Sub SchriftFarbig()
Dim lngFound As Long
Dim rngCell As Range
Const strSearch As String = "DerTextSollImTextGesuchtWerden"
Application.ScreenUpdating = False
For Each rngCell In ActiveSheet.UsedRange
lngFound = 1
Do While InStr(lngFound, rngCell.Value, strSearch) > 0
With rngCell.Characters(InStr(lngFound, rngCell.Value, strSearch), Len(strSearch))
'            .Font.Superscript = True
.Font.ColorIndex = 1
rngCell.Interior.ColorIndex = 3 'rot
End With
lngFound = InStr(lngFound, rngCell.Value, strSearch) + 1
Loop
Next rngCell
Application.ScreenUpdating = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
klappt SUPER - DANKE,hätte nur noch nen Opt.Wunsch
14.04.2011 14:20:44
Eddie
Danke klappt SUPER,
genau das was ich gesucht habe ..
nun hab ich noch nen Wunsch :-)
Ich will nun 3 oder mehr Begriffe im Text suchen lassen, und es sollen dann diese auch markiert werden...
Wie könnte man das realisieren ?
Danke und Gruß Eddie
was willst Du denn markieren, Text o. Zelle ?
15.04.2011 08:15:03
Matthias
Hallo
Was willst Du markieren?
Die Zelle in der der gefundene Text steht, oder den Text selbst?
Wenn Du die Zelle färben willst, kannst Du ja über die Combobox ein zweiten Eintrag auswählen.
Dann darfst Du nur die Zellen vorher nicht wieder entfärben.
Code im Modul:
Option Explicit
Sub SchriftFarbig()
Dim lngFound As Long
Dim rngCell As Range
Dim strSearch As String
strSearch = Tabelle1.ComboBox1.Value
Application.ScreenUpdating = False
For Each rngCell In Tabelle1.UsedRange
lngFound = 1
Do While InStr(lngFound, rngCell.Value, strSearch) > 0
With rngCell.Characters(InStr(lngFound, rngCell.Value, strSearch), Len(strSearch))
'           .Font.Superscript = True
.Font.ColorIndex = 1
rngCell.Interior.ColorIndex = 3 'rot
End With
lngFound = InStr(lngFound, rngCell.Value, strSearch) + 1
Loop
Next rngCell
Application.ScreenUpdating = True
End Sub
Sub ohneFarbe()
Tabelle1.UsedRange.Interior.ColorIndex = xlNone
End Sub
Code in der Tabelle (Tabelle1)
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex >= 0 Then SchriftFarbig
End Sub


Wenn Du die Textstellen markieren willst, geht das auch
Schau einfach in die Datei, da ist ein kleines Beispiel ;o)
https://www.herber.de/bbs/user/74409.xls
Anmerkung:
In der Datei habe ich mit ActiveSheet gearbeitet, da es dort nur ein Sheet gibt.
Normalerweise sollte man das Blatt ordentlich referenzieren,
siehe im Beispielcode (oben)
also z.B.: Tabelle1.UsedRange.Interior.ColorIndex = xlNone
statt ActiveSheet.UsedRange.Interior.ColorIndex = xlNone
Gruß Matthias
Anzeige
DANKE
15.04.2011 10:30:16
Eddie
DANKE,
so in der Art wollte ich das erledigen .. ich will zwar die ganze Zelle damit markieren, aber das kriege ich wohl noch selber hin das so umzuschreiben ....
Mein Problem was ich bis jetzt immer hatte, und aber auch NIE erzählt habe .... in meinem Sheet sind schon best. bedingte Formatierungen drin, und mit der VBA-Funktion von Dir würden die natürlich erstmal alle ordentlich gelöscht werden, was am Anfang schon etwas blöd war, aber so langsam hatte ich mich da etwas durchgekämpft und nun klappt es wie ichs mir vorgestellt hatte...
Danke und Gruß
Eddie

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige