Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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
Suchen und ausgeben VBA
05.12.2017 22:40:19
Hendrik
Guten Abend,
ich habe einen Code im Netz von "Anja" gefunden, welcher Suchkriterien in einer Spalte findet und die betroffene Zelle einfärbt (rngFind.Interior.ColorIndex =3).
Ich möchte diesen anpassen: Wenn das Suchkriterium in der Zelle gefunden wird, soll dieses Suchkriterium in eine neue Spalte geschrieben werden.
Am besten auch wenn "hendrik" und "eva" in der Zelle vorkommt dann in der anderen Spalte "hendrik; eva" ausgeben.
Hoffe das so etwas möglich ist.
Danke für eure Hilfe

Sub finden()
Dim rngFind As Range
Dim strFirst As String
Dim strFindArray() As Variant
Dim intCount As Integer
strFindArray = Array("hendrik", "eva", "tim")
For intCount = 0 To UBound(strFindArray)
Set rngFind = Range("A:A").Find(What:=strFindArray(intCount), LookIn:=xlValues, LookAt:= _
xlPart)
If Not rngFind Is Nothing Then
strFirst = rngFind.Address
Do
rngFind.Interior.ColorIndex = 3
Set rngFind = Range("A:A").FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address  strFirst
End If
Set rngFind = Nothing
strFirst = vbNullString
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen und ausgeben VBA
06.12.2017 05:45:58
Hajo_Zi
rngFind.offset(0,23)=rngFind

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
AW: Suchen und ausgeben VBA
06.12.2017 10:44:13
Hendrik
Hallo Hajo,
danke für die promte Antwort. Die Lösung war so nah und doch so fern :D - vielen Dank.
Ich habe noch ein Problem mit dem Array-Bereich. Ich versuche eine Spalte mit Werten als Array zu deklarieren. Bekomme das aber irgendwie nicht hin.
Meine Lösung ist so Simple wie auch falsch und dumm...
Sub finden()
Worksheets("Tabelle2").Select
Dim rngFind As Range
Dim strFirst As String
Dim strFindArray() As Variant
Dim intCount As Integer
Dim Bereich As Range
Bereich = Worksheets("Tabelle1").Range("H8:H18")
strFindArray = Array(Bereich)
For intCount = 0 To UBound(strFindArray)
Set rngFind = Range("AU:AU").Find(What:=strFindArray(intCount), LookIn:=xlValues, LookAt:= _
xlPart)
If Not rngFind Is Nothing Then
strFirst = rngFind.Address
Do
rngFind.Offset(0, 10) = rngFind
Set rngFind = Range("AU:AU").FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address  strFirst
End If
Set rngFind = Nothing
strFirst = vbNullString
Next
End Sub

Anzeige
AW: Suchen und ausgeben VBA
06.12.2017 13:42:45
Hendrik
Jemand eine Lösung?
AW: Suchen und ausgeben VBA
06.12.2017 15:29:19
Hendrik
Habe es hinbekommen.
Für alle die dieses Thema auch Interessiert, hier die Lösung:
Sub finden()
Worksheets("Termine").Select
Dim rngFind As Range
Dim strFirst As String
Dim strFindArray() As Variant
'Dim intCount As Integer
Dim Eingabe As Variant
Dim i As Integer
For i = 8 To 18
Eingabe = Worksheets("Besucherliste").Range("H" & i)
strFindArray = Array(Eingabe)
Set rngFind = Range("AU1:AX100").Find(What:=strFindArray(), LookIn:=xlValues, LookAt:=xlPart)
If Not rngFind Is Nothing Then
strFirst = rngFind.Address
Do
rngFind.Offset(0, 10) = rngFind
Set rngFind = Range("AU1:AX100").FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address  strFirst
End If
Set rngFind = Nothing
strFirst = vbNullString
Next
End Sub

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige