Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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
Inhaltsverzeichnis

Ähnlichkeitssuche

Ähnlichkeitssuche
26.02.2018 14:59:24
Falcosn
Hallo zusammen,
gerne würde ich aus einer Liste gerne alle Zellen und Zelleninhalte auslesen, die jegliche Variation des Wortes "Leerstand" beinhalten. Dazu zählt z.B. "Leerstand *", "Leerstand1", "Leerstand X", "Leerstand_a" usw.
Folgendes Makro, zum Teil mit eurer Hilfe, habe ich dazu bis dato entwickelt.
Bisher habe ich erfolglos versucht die Variationskomponente mit *Leerstand* zu erreichen....
Tausend Dank!
Falcosn

Sub Test()
Dim vertikal As Integer
Range("A207").Select
vertikal = Selection.CurrentRegion.Rows.Count
Dim msg As String
msg = ""
Dim objMerk As Object, oObj, arrMerk()
Set objMerk = CreateObject("scripting.dictionary")
Dim Nutzung As Range
Dim k As Integer
'In Spalte "Nutzungsart" prüfen, ob Einheiten richtig benannt sind
For Each Nutzung In ActiveSheet.Range(Cells(207, 2), Cells(207 + vertikal, 2))
Select Case Nutzung
Case ActiveSheet.Range(Cells(207, 2), Cells(207 + vertikal, 2)).Find(what:="*Leerstand*",  _
LookIn:=xlValues, lookat:=xlPart)
objMerk(Nutzung.Address(0, 0)) = Nutzung.Value
Case Else
' "objMerk definiert den Inhalt: Zellenkoordinaten & Zelleninhalt
End Select
Next Nutzung
k = 0
If objMerk.Count Then
'"arrMerk" wird definiert von 1 bis zur Anzahl der Einträgen die "ungleich" sind
ReDim arrMerk(1 To objMerk.Count)
For Each oObj In objMerk
k = k + 1
arrMerk(k) = oObj & " :" & vbTab & objMerk(oObj)
Next oObj
MsgBox "Folgende Zellen sind falsch befüllt:" & vbCrLf & Join(arrMerk, vbLf), vbInformation  _
_
_
+ vbOKOnly, "Prüferergebnis"
Exit Sub
Else
MsgBox "Alle Zellen in der Spalte Nutzungsart sind richtig befüllt", vbInformation + vbOKOnly, " _
_
_
Prüfungsergebnis"
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Ähnlichkeitssuche
26.02.2018 16:24:36
Robert
Hallo,
um ehrlich zu sein, ganz bin ich bei Deinem Code nicht durchgestiegen. Daher mal ein Deutungsversuch: Du möchtest in einer Msgbox alle Zellen ausgeben, die im Bereich B207 bis zum Ende der Spalte B das Wort "Leerstand" irgendwo im Zellinhalt stehen haben. Wenn das so richtig sein sollte, kannst Du das mit nachstehendem Code erreichen:
Sub PruefeInhalt()
Dim strAddresse As String, rngF As Range, firstAddress As String
With ActiveSheet.Range("B207:B" & Range("B" & Rows.Count).End(xlUp).Row)
Set rngF = .Find("Leerstand", LookIn:=xlValues, LookAt:=xlPart)
If Not rngF Is Nothing Then
firstAddress = rngF.Address
Do
strAddresse = strAddresse & vbCrLf & rngF.Address
Set rngF = .FindNext(rngF)
Loop While Not rngF Is Nothing And rngF.Address  firstAddress
End If
End With
If strAddresse  "" Then
MsgBox "Folgende Zellen enthalten das Wort 'Leerstand': " & strAddresse
End If
End Sub
Gruß
Robert
Anzeige
AW: Ähnlichkeitssuche
27.02.2018 09:16:19
Falcosn
Hallo Robert,
klappt, vielen Dank für deine Hilfe!
Beste Grüße
Falcosn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige