Makro um Sheet zu druchsuchen
09.08.2018 10:13:01
Laura
ich habe ein Problem und hoffe hier eine Lösung zu finden, da ich selbst nicht mehr weiterkomme.
Ich habe ein Makro welches z.B. Spalte A nach einem Wert durchsucht und dann zu der dazugehörigen Spalte die Zeile bzw. eine bestimmte Range der Zeile ausgibt. Dies hat bis jetzt auch super funktioniert, allerdings haben sich meine Anforderungen geändert.
Hat jemand eine Idee wie das Makro anzupassen ist, wenn ich folgendes erreichen möchte:
1: Die Suche des Makros soll 100% exakt sein, d.h. wenn ich "Sommer" eingebe, dann will ich nur Treffer angezeigt bekommen die "Sommer" heißen nicht z.B. Sommerregen. Dies ist aktuell nicht der Fall.
2: Des Weiteren soll dass Makro, wenn es eine Zeile durchsucht hat, einfach in ein anderes Blatt eine Zahl schreiben, wie oft das Schlagwort in der Spalte gefunden wurden.
3: Das Makro soll Schlagwörter aus mehreren Zeilen kombinieren können und dann die Anzahl zurückgeben. Steht z.B. in A "Sommer" und in B "Regen" und man sucht nach Sommer Regen, dann soll dies als ein Treffer gewertet werden.
Hat jemand dafür eine Idee? Ich habe bis jetzt alles mir mögliche versucht aber spätestens bei der kombinierten Suche und bei der Ausgabe der Treffer in ein anderes Blatt als Zahl, streiken meines Kenntnisse.
Vielen Dank im Voraus.
Grüße Laura
Option Explicit
Public Sub Fuelle_Hilfstabelle()
Dim rng As Range
Dim vKW As Variant
Dim sFirstAdress As String
Dim wb As Workbook
vKW = InputBox(prompt:="Bitte KW eingeben:", Title:="Suche")
With Worksheets("Archiv")
Set rng = .Columns(1).Find(vKW)
If rng Is Nothing Then
MsgBox "KW " & vKW & " nicht gefunden!"
Else
If ThisWorkbook.Worksheets("Hilfstabelle").Range("A2").Value = "" Then
sFirstAdress = rng.Address
Do
Call Union(rng, rng.Offset(0, 1).Resize(1, 10)).Copy(Destination:= _
ThisWorkbook.Worksheets("Hilfstabelle").Cells(.Rows.Count, 1).End(xlUp). _
Offset(1, 0))
Set rng = .Columns(1).FindNext(rng)
Loop Until rng.Address = sFirstAdress
Else
MsgBox ("Hilfstabelle nicht leer!")
Exit Sub
End If
End If
End With
MsgBox ("Daten in Hilfstabelle übertragen!")
End Sub