Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
176to180
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
176to180
176to180
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen per VBA

Suchen per VBA
05.11.2002 10:27:03
Norbert
Hallo,

hier eine für Cracks wie Euch wahrscheinlich einfache Frage, für mich aber ein Problem.

Ich habe eine Tabelle mit 10 Spalten und ca. 5000 Zeilen.
In Spalte 1 stehen Zahlen und Buchstaben von bis zu 20 Zeichen (inklusive Leerstellen).
Nun möchte ich ein Makro haben, welches die Spalte 1 durchsucht und alle Zeilen in einer zweiten Tabelle ausgibt, die eine bestimmte Zahlen-Buchstaben Kombination enthalten.

Z.B
BAC1
AC21
AC1

Suchkriterium "C1".

Das Makro soll nun die 1. und die 3. Zeile ausgeben.

Wem das noch nicht kompliziert genug war, hier noch eine Verfeinerung: Wenn der User nach dem Suchkriterium ein Sternchen macht, soll das Makro alle Zeilen ausgeben, die mit dem Suchkriterium anfangen. ("AC*" => 2. und 3. Zeile, nicht aber die 1.)

Geht das überhaupt? Meine Kenntnisse diesbezüglich sind leider zu rudimentär.

Ich bedanke mich auf jeden Fall jetzt schon mal und hoffe jemand kennt eine Lösung.

Gruß

Norbi

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Suchen per VBA
05.11.2002 10:59:08
ANdreas
Hallo Norbi,

hier mal mein Vorschlag:Hoffe das hilft weiter,
Andreas

Danke
05.11.2002 11:04:06
Norbert
Danke Andreas,

werde das gleich mal ausprobieren. Ich muß zugeben, wenn ich mir den Code so anschaue, ich verstehe nur Bahnhof. Wow! Wie lange braucht man, um das so drauf zu haben?

Gruß

Norbi

Es funktioniert
05.11.2002 11:11:08
Norbert
Nochmals Danke für die schnelle Antwort,

es funktioniert reibungslos. Kann man nur weiterempfehlen.

Gruß
Norbi

Re: Es funktioniert
05.11.2002 11:20:33
ANdreas
Hallo Norbi,

schön dass es klappt. :)
Wenn Du sagen kannst, was genau Du nicht verstehst, dann bin ich gern bereit es zu erklären.
Den besten Lerneffekt hat es aber, wenn man sich die Hilfe zu den verschiedenen Befehlen anschaut, da wird einiges klarer.
Die übrigen Kleinigkeiten, die dann ein Programm ausmachen, kommen irgendwann von ganz allein, man lernt ja immer dazu!
Also schreibe einfach, wenn Du mehr wissen möchtest.

Andreas
http://www.bei-andi.de/excel

Anzeige
Re: Suchen per VBA
05.11.2002 11:28:11
Andre B
Hi Andreas, dein Code läuft leider nicht, wenn ich versuche folgende Suche zu starten:

Suchbegriff: test*Suche

Dabei ist der Stern ein Platzhalter, Ergebnis soll dann z.B. sein:

1. testversuch1suche
2. testversuch2suche
3. testsuche
4. test suche
usw.

Gibt´s da einen Trick?

Re: Es funktioniert
05.11.2002 11:49:09
Andre B
Hallo Andreas?

Ich will ja nicht ungeduldig erscheinen, aber bin mir nicht wirkich sicher, ob du meine Frage bemerkt hast.

Re: Suchen per VBA
05.11.2002 11:50:00
ANdreas
Hallo Andre,

seltsam, bei mir funktioniert die Suche auch so wie Du sie beschrieben hast. Eventuell liegt es dann an der Groß- und Kleinschreibung. Setze bei dem Find-Aufruf, einfach explizit noch MatchCase:=False als weiteren Parameter mit dazu. Obwohl False der Standardwert ist, könnte es durchaus sein, dass dort vielleicht doch die zuletzt genutzte Einstellung genommen wird.

Hoffe das hilft weiter,
Andreas

Anzeige
Re: Es funktioniert
05.11.2002 11:53:30
Norbert
Hi,

genau das mache ich gerade. Ich gehe jeden Befehl einzeln durch und versuche zu verstehen, was der so macht, um ihn dann etwas abzuändern. Du hast recht, man lernt so am Besten und es fruchtet schon.
Apropos Hilfe. Meine sagt leider nichts zu dem Befehl Intersect aus. Gibt es irgendwo eine Art update für neue Hilfedateien?

Gruß Norbi

Re: Es funktioniert
05.11.2002 12:01:46
ANdreas
Hallo Norbi,

soweit ich weiß, sind die Hilfe Dateien alle auf der Office-Instatllations CD drauf. Vielleicht musst Du einfach nur die VBA-Hilfen nachinstallieren...

Aber Intersect macht ja nicht wildes, es bildet die Schnittmenge der übergebenen Bereiche. (in der Hilfe steht dazu genau: Diese Methode gibt ein Range-Objekt zurück, das die rechteckige Schnittmenge von zwei oder mehreren Bereichen darstellt.)

Ein Beispiel:
Intersect(Range("A1:B10"), Range("A1:D3")) liefert den Bereich Range("A1:B3")

Das Gegenstück zu Intersect ist Union. Union liefert die Vereinigungsmenge der übergebenen Bereiche.

Viel Spaß,
Andreas

Anzeige
Danke
05.11.2002 12:05:20
Andre B
Lag wirklich an der Groß-/Kleinschreibung. Trotzdem danke.
Bis dann
Re: Es funktioniert
05.11.2002 13:18:40
Norbert
Hallo Andreas,

komisch, ich habe nämlich die gesamte VBA Hilfe installiert, trotzdem ist da nichts dabei. Sehr merkwürdig.

Das mit Intersect ist cool, kann ich auch woanders gebrauchen.

Danke.

Gruß Norbi

Kleine Zusatzfrage
05.11.2002 15:11:07
Norbert
Hallo noch mal ich,

habe eine kleine Zusatzfrage:

Wie muß ich den Code ändern, wenn ich jetzt (angenommen in Spalte 1 nur Zahlenwerte) alle Zeilen ausgegeben habe möchte, deren Wert größer als das Suchkriterium ist. (geht das auch mit Datumsfeldern?)

Danke

Gruß Norbi

Re: Kleine Zusatzfrage
05.11.2002 15:48:48
ANdreas
Hallo Norbi,

dann sieht das ganze schon wieder anders aus ;)
Hier eine Lösung die nach Datumswerten sucht und alle Zeilen mit einem Datum später als das eingegebene überträgt:
Viel Spaß,
Andreas

Anzeige
Bingo
05.11.2002 16:07:36
Norbert
Hallo Andreas,

wie nicht anders zu erwarten funktioniert auch das reibungslos. Super!

Mit reinen Zahlenwerten klappt es zwar so noch nicht, aber ich denke das bekomme ich jetzt mal zur Abwechslung alleine hin (hopefully).

Dank Dir

Norbi

Re: Bingo
05.11.2002 16:16:55
ANdreas
Hallo Norbert,

mit Zahlenwerte allein ist es auch fast genau so. Das Problem, wenn Du sowohl Zahlen als auch Datumswerte hast, liegt in der Erkennung, was ist Zahl und was Datum. Da intern alle Datumswerte für VBA ja auch Zahlen sind. Es ist zwar machbar, aber wenn mal alle Möglichkeiten erfassen will, etwas aufwendiger.

Helfen könnte Dir dabei auch noch die Funktion IsNumeric()

Viel Spaß,
Andreas

Anzeige
Re: Bingo
05.11.2002 16:44:14
Norbert
Danke, werde ich gleich mal ausprobieren.

Gruß Norbi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige