Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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

Suche in VBA

Suche in VBA
10.12.2013 10:58:19
Herbert
Hi der folgende Eintrag gehört noch mit zu diesem Thema:
https://www.herber.de/forum/archiv/1340to1344/t1340394.htm
Leider konnte ich in der letzten woche nicht schreiben, da mein Internet nicht funktioniert hat. Ich kann leider in dem anderen Forum nichts mehr schreiben deshalb hier nun neu:
Ich habe versucht den Code von fcs in mein Dokument einzufügen. Allerdings funktioniert er nicht richtig.
Kann mir jemand auf die Sprünge helfen wo mein Fehler liegt? Hier ist meine Datei.
https://www.herber.de/bbs/user/88463.xlsm
Danke schonmal an die beiden die mir auf den letzten Eintrag zurückgeschrieben haben. Ich hatte leider noch nicht die möglichkeit mich zu bedanken!
Viele Grüße Herbert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche in VBA
10.12.2013 15:48:57
fcs
Hallo Herbert,
du verwendest jetzt andere Zeilen für die Daten als in deiner ursprünglichen Frage.
Deshalb musst du in folgendem Abschnitt des Makros noch die Korrektur für die Zeilennummer anpassen (ersetze + 12 durch -1), damit der Unterschied zwischen Zeile in Blatt "Search and Convert to pdf anpassen" und Zeile des Suchbegriffs in den zu durchsuchenden Blättern ausgeglichen wird.
Gruß
Franz
            Select Case Zeile
Case 18, 20, 25, 27, 28 'Zeile überspringen
Case 14 To 32 'Text-Werte vergleichen
bolGefunden = fncCheckText(strVergleich:=.Cells(Zeile, 8).Value, _
strText:=wks.Cells(Zeile - 1, 28).Value, _
strUebereinstimmung:=.Cells(Zeile, 12).Value, _
bolGrossKlein:=False)
If bolGefunden = False Then Exit For
Case 27 'nummerische Werte vergleichen
bolGefunden = fncCheckZahl(varVergleich:=.Cells(Zeile, 8).Value, _
varZahl:=wks.Cells(Zeile - 1, 28).Value, strOperator:=.Cells(Zeile, 12). _
Value)
If bolGefunden = False Then Exit For
End Select

Anzeige
AW: Suche in VBA
11.12.2013 07:59:46
Herbert
Hallo Franz,
danke schonmal für die Hilfe. Ohne dich wäre ich echt aufgeschmissen! Ich hatte nicht damit gerechnet das ich Probleme haben würden den Code anzupassen, deshalb hatte ich diese fiktive Datei erstellt.
Ich habe jetzt die Änderung durchgeführt und es funktioniert auch! Die Ausnahme dabei stellt die Funktion "numerische Werte vergleichen" dar. Die funktioniert auch nach der Änderung noch nicht richtig. Egal was ich dort einstelle, es werden alle Seiten als Treffer gefunden.
Könntest du mir bei dieser Sache auch noch den Schlüssel in die Hand reichen?
Vielen Dank nochmal!
Viele Grüße
Herbert

Anzeige
AW: Suche in VBA
11.12.2013 13:14:46
fcs
Hallo Herbert,
die Zeilen-Nummern in der 1. und 2. Case-Zeile sorgen bei dir dafür, dass die 27. Zeile nie als nummerisch abgearbeitet wird.
Da musst du anpassen.
Gruß
Franz
            Select Case Zeile
Case 18, 20, 25, 28 'Zeile überspringen
Case 14 To 26, 29 To 32 'Text-Werte vergleichen
bolGefunden = fncCheckText(strVergleich:=.Cells(Zeile, 8).Value, _
strText:=wks.Cells(Zeile - 1, 28).Value, _
strUebereinstimmung:=.Cells(Zeile, 12).Value, _
bolGrossKlein:=False)
If bolGefunden = False Then Exit For
Case 27 'nummerische Werte vergleichen
bolGefunden = fncCheckZahl(varVergleich:=.Cells(Zeile, 8).Value, _
varZahl:=wks.Cells(Zeile - 1, 28).Value, strOperator:=.Cells(Zeile, 12). _
Value)
If bolGefunden = False Then Exit For
End Select

Anzeige
AW: Suche in VBA
12.12.2013 08:36:01
Herbert
Super soweit funktioniert das ganze auch.
Eine Sache ist dabei allerdings noch "nicht so schön". Wenn ich beispielsweise die Zahl 5 eingebe und die Analogy "größer als" , findet er mir auch Zeilen in denen ich ein " - " eingetragen habe. Dies mache ich wenn sich keine genaue Anzahl finden lässt. Gibt es dafür eine Lösung? Ansonsten werde ich es so lassen.
Nochmal vielen Dank für deine bisherige Hilfe!

AW: Suche in VBA
12.12.2013 11:55:01
fcs
Hallo Herbert,
da muss dieFunction entsprechedn angepasst werden durch zusätzlich Prüfungen.
Gruß
Franz
Function fncCheckZahl(ByVal varVergleich, ByVal varZahl, ByVal strOperator) As Boolean
'Funktion zum Vergleich von Zahlenwerten
If IsEmpty(varVergleich) Then
'keine Prüfung wenn Suchfeld leer
fncCheckZahl = True
Else
Select Case strOperator
Case "="
fncCheckZahl = varVergleich = varZahl
Case ""
fncCheckZahl = (varZahl > varVergleich And varZahl  "-")
Case "="
fncCheckZahl = (varZahl >= varVergleich And varZahl  "-")
Case ""
fncCheckZahl = varZahl  varVergleich
End Select
End If
End Function

Anzeige
AW: Suche in VBA
12.12.2013 13:07:17
Herbert
Hallo Franz, nochmal vielen Dank für deine Hilfe! Du hast mir damit sehr viel weitergeholfen!
Jetzt funktioniert alles genau so wie ich mir das vorgestellt habe!
Danke nochmal!!!
Viele Grüße
Herbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige