Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1204to1208
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

Find-Methode

Find-Methode
Olli
Hallo Leute,
ich möchte gerne in einer Tabelle nach einem Textteil suchen um anschließend in der Zeile Änderungen vorzunehmen. Bislang reichte es aus, den exakten Inhalt zu finden, was ich mittels folgenden Code erreichte:
Set w = Range("b34:b134").Find("Zwischenprüfung", LookIn:=xlValues)
Nun befinden sich aber in den Zeilen ggf. weitere Zeichen. Wie kann ich den Code entsprechend anpassen, dass ich mit der Variable w dann weiterarbeiten kann?
Für einen kurzen Tip wäre ich sehr dankbar.
Viele Grüße
Olli

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Find-Methode
04.03.2011 17:58:58
Reinhard
Hallo Olli,
schau mal in der Hilfe nach der richtigen Find methode, da gibst einen parameter mit xlpart...
Gruß
Reinhard
AW: Find-Methode
04.03.2011 19:51:27
pastinake
Hallo Olli,
ich suche Textfragmente über diesen Code:
Sub FindBeispiel()
Dim rngFind As Range
Set rngFind = Range("a1:a20").Find(what:="Beispiel", LookIn:=xlValues, lookat:=xlPart)
MsgBox "Treffer auf zelle " & rngFind.Address
End Sub

Hoffe es hilft Dir
Gruß aus Hilden
Bernd
Anzeige
Find-Methode: viele Parameter
04.03.2011 23:28:49
Erich
Hi Bernd,
fehlen in deinem Code nicht noch zwei wesentliche Find-Parameter?
Das Find-Ergebnis kann leicht davon abhängen, ob bei der vorherigen Suche Groß-/Kleinschreibung berücksichtigt wurde.
Deshalb sollte man jedenfalls MatchCase:=True (oder False) angeben.
Für den Fall, dass bei der vorherigen Suche Formate eine Rolle spielten, sollte man auch immer
SearchFormat:=False
angeben.
Mein Vorschlag:

Sub FindBeispiel()
Dim rngFind As Range
Set rngFind = Range("a1:a20").Find(What:="Beispiel", LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False)
If Not rngFind Is Nothing Then _
MsgBox "Treffer auf zelle " & rngFind.Address
End Sub
Noch ein Tipp: An die passenden Parameterwerte kommt man leicht mittels Makroaufzeichnung.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Find-Methode: viele Parameter
05.03.2011 08:05:16
pastinake
Hallo Erich,
ja, absolut richtig ! Beide Werte stehen in Default zwar richtig,- aber wenn, wie Du völlig richtig anmerkst, bei einer vorherigen Suche andere verwendet wurden kann das schief laufen.
In dem vorliegenden Fall würde ich den MatchCase auf False lassen. In den meisten Fällen habe ich doch unverlässliche Listen bei denen ich NICHT auch Groß und Kleinschreibung achten möchte. Was meinst Du ?
Guter Hinweis Erich, Danke und schönes Wochenende
Bernd
MatchCase oder nicht?
05.03.2011 09:44:25
Erich
Hi Bernd,
ob ich MatchCase auf False oder True stelle, richtet sich danach, wie die Daten aussehen und was ich erreichen möchte.
Eine generelle Aussage halte ich nicht für sinnvoll. Manchmal kommts halt drauf an und manchmal nicht.
Einzig wichtig: Man sollte sich dessen bewusst sein, was man tut, und den Parameter immer einstellen.
Olli hat m. E. in seiner Frage nur ausgedrückt, dass er "LookAt:=xlPart" braucht - mehr nicht.
"In dem vorliegenden Fall würde ich den MatchCase auf False lassen" scheint mir aus der Luft gegriffen zu sein.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Ein Schönes Wochenende!
Anzeige
AW: MatchCase oder nicht?
05.03.2011 11:37:33
Olli
Hallo und guten Morgen!
Musste gestern leider weg und konnte daher nicht früher antworten. Vielen Dank erst mal für die zahlreichen Tipps. Werde ich heute mal ausprobieren und mich dann wieder melden.
Gruß
Olli
AW: MatchCase oder nicht?
05.03.2011 12:50:01
pastinake
Hallo Erich,
Deinen Hinweis
"In dem vorliegenden Fall würde ich den MatchCase auf False lassen" scheint mir aus der Luft gegriffen zu sein.

empfinde ich als unpassend.
A) weil der Parameter bisher nicht gesetzt war und vermutlich somit False war. Wenn Du nun den Tip gibst den Wert auf True zu setzen, können ungewünschte Ergebnisse raus kommen. Daher mein durchaus freundlicher Hinweis den Wert doch, wie bisher, auf False zu lassen.
B) weil Angriffe gegen Helfende folgenden Effekt mit sich bringen: Ich klappe jetzt den Rechner zu und geniesse meinen Tag !
Bernd
Anzeige
@Bernd: Sorry, aber...
05.03.2011 13:41:58
Erich
Hi Bernd,
meine (ja: kritische) Bemerkung "scheint mir aus der Luft gegriffen zu sein" sollte dich in keiner Weise angreifen,
verletzen oder sonstwie schädigen. Ich finde diese Formulierung auch wirklich nicht böse.
Bitte entschuldige meine Wortwahl!
In der Sache bleibe ich bei meiner Meinung.
"A) weil der Parameter bisher nicht gesetzt war und vermutlich somit False war."
Woher nimmst du "vermutlich somit False war"? Aus meiner Sicht ist es einfach nur zufällig,
ob der Suchvorgang davor mit MatchCase False oder True geschah.
Vielleicht lief er mit "True". Würdest du auch dann immer auf "False" umschalten wollen?
"Wenn Du nun den Tip gibst den Wert auf True zu setzen, können ungewünschte Ergebnisse raus kommen."
Diesen Tipp gebe ich nun gerade NICHT. Im Gegenteil schrieb ich:
"Man sollte sich dessen bewusst sein, was man tut, und den Parameter immer einstellen."
WIE man den Parameter einstellt, True oder False, richtet sich nach den Daten und dem, was man erreichen will.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Trotzdem ein schönes Wochenende!
Anzeige
AW: @Bernd: Sorry, aber...
05.03.2011 18:36:16
pastinake
Hallo Erich,
danke für Deine Rückmeldung,- alles OK !
In der Sache gebe ich Dir natürlich recht. Grundsätzlich ist es richtig, den Parameter nicht auszulassen und nach Datenlage mit True oder False zu belegen.
Gruß und schönen Abend
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige