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

Suchen mit VBA-Code

Suchen mit VBA-Code
07.06.2013 22:52:12
Marcus
Hallo,
Ich möchte Spalte A und B von oben nach unten nach einem bestimmten Inhalt durchsuchen.
Weiter bin ich bei meiner Recherche nicht gekommen:
sFind = InputBox("Bitte Suchbegriff eingeben:")
Wenn mir jemand beim Rest helfen könnte...
Danke
Gruß
Marcus

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen mit VBA-Code
08.06.2013 00:42:17
Mustafa
Hallo Marcus,
hier mal ein kleiner Code :

Option Explicit
Sub SuchenMitVBA()
Dim StrFind As String
Dim IntAnfangsZeile As Integer, IntEndZeile As Integer
Dim IntAnfangsSpalte As Integer, IntEndSpalte As Integer
Dim IntZeilenZähler As Integer, IntSpaltenZähler As Integer
Dim BlnGefunden As Boolean
StrFind = InputBox("Suchbegriff Eingeben", "Eingabe Suchbegriff")
IntAnfangsZeile = InputBox("Ab welcher Zeile soll gesucht werden?", "Startzeile")
IntEndZeile = InputBox("Bis zu welcher Zeile soll gesucht werden?", "Endzeile")
IntAnfangsSpalte = InputBox("Ab welcher Spalte soll gesucht werden?", "Startspalte als Zahl")
IntEndSpalte = InputBox("Bis zu welcher Spalte soll gesucht werden?", "Endspalte als Zahl")
For IntSpaltenZähler = IntAnfangsSpalte To IntEndSpalte
For IntZeilenZähler = IntAnfangsZeile To IntEndZeile
If Cells(IntZeilenZähler, IntSpaltenZähler) = StrFind Then BlnGefunden = True
If BlnGefunden Then GoTo Gefunden
Next
Next
Gefunden:
If Not BlnGefunden Then Exit Sub
MsgBox ("Suchbegriff gefunden in" & Chr(13) & "Zeile " & IntZeilenZähler & " Spalte " &  _
IntSpaltenZähler)
End Sub

Rückmeldung obs Hilft wäre nett.
Gruß aus der Domstadt Köln.

Anzeige
Suchen, weitersuchen, Adresse bei Fund augeben
08.06.2013 04:14:49
Matthias
Hallo Mustafa
Dir ist da ein kleiner Fehler unterlaufen.
Du musst zwingend nachbessern, denn wenn man z.B. 2x Abbrechen klickt
steigt VBA mit einem Fehler aus.
Es wird auch leider nur der erste Fund angezeigt.
Mich persönl. würden die vielen Abfragen aber auch eher stören.
Eine Alternative:
Dim Suchbegriff$
Suchbegriff = InputBox("bitte Suchbegriff eingeben", , "Test")
If StrPtr(Suchbegriff) = 0 Then Exit Sub
Cells.Find(What:=Suchbegriff, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole).Activate
weiter:
Cells.FindNext(After:=ActiveCell).Activate
If MsgBox("Fund in " & ActiveCell.Address & vbLf & "weiter suchen?", vbYesNo, "Suche in allen Zellen") = vbYes Then GoTo weiter

Gruß Matthias

Anzeige
AW: Suchen, weitersuchen, Adresse bei Fund augeben
08.06.2013 08:13:54
Marcus
Hallo Matthias,
deine Variante gefällt mir wirklich besser, da es die Abfragen nicht gibt. Nur, hier scheint etwas nicht zu stimmen:
If StrPtr(Suchbegriff) = 0 Then Exit Sub
Wenn ich richtig deute, müsste, wenn kein Fund kommt, es in Exit gehen. Bei mir geht es aber trotzdem weiter und es dann kommt logischerweise eine Fehlermeldung. Kannst du noch mal gucken?
Gruß
Marcus

Fehler-Behandlung ...
08.06.2013 23:52:07
Matthias
Hallo
If StrPtr(Suchbegriff) = 0 fängt nur das "Abbrechen-Button" ab
Mit einer Fehlerbehandlung kannst Du dann auch den nicht gefundenen Wert abfangen.
Dim Suchbegriff$
On Error GoTo Fehler
Suchbegriff = InputBox("bitte Suchbegriff eingeben", , "Test")
If StrPtr(Suchbegriff) = 0 Then Exit Sub
Cells.Find(What:=Suchbegriff, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole).Activate
weiter:
Cells.FindNext(After:=ActiveCell).Activate
If MsgBox("Fund in " & ActiveCell.Address & vbLf & "weiter suchen?", vbYesNo, "  Suche -> " &  _
Suchbegriff) = vbYes Then GoTo weiter
Exit Sub
Fehler:
MsgBox "Suchbegriff wurde nicht gefunden"
Guß Matthias

Anzeige
AW: Suchen, weitersuchen, Adresse bei Fund augeben
08.06.2013 08:39:41
Marcus
Hallo Matthias,
auch wenn es richtig laufen wird, bin ich trotzdem noch nicht ganz zufrieden.
Gibt es eine Möglichkeit per Makrobefehl nur das "Suchen-Fenster" zu öffnen? Ein Makro schreibt nur mit, wenn ich auch etwas bestimmtes suche, will ich aber noch nicht.
Der Nachteil dieser InputBox ist, dass ich die erst komplett abarbeiten muss, bevor ich auf dem Tabellenblatt etwas weiter schreiben kann.
Gruß Marcus

AW: Suchen, weitersuchen, Adresse bei Fund augeben
10.06.2013 23:00:53
Mustafa
Hallo Marcus,
der Code war nur als kleiner Denkanstoß gedacht um die Eigeninitiative zu steigern, wenn Matthias Code deine Wünsche erfüllt ist ja alles bestens.
PS: Matthias L.
mir ist bewusst das bei Abbruch der Code in einen Fehler ausläuft, aber wie oben schon angedeutet war er nur als Denkanstoß gedacht.
Auf Wunsch und eine genauere Erläuterung hätte ich den Code auch weitestgehendst angepasst und vereinfacht.
Aber Marcus scheint ja mit deiner Lösung zufrieden zu sein somit ist alles bestens :)
Gruß aus der Domstadt Köln.

Anzeige
alles ok ... :-) oT
11.06.2013 08:08:17
Matthias

AW: Suchen mit VBA-Code
08.06.2013 08:15:35
Marcus
Hallo Mustafa,
danke, aber ich habe mich für Matthias Variante entschieden. Die Abfragen möchte ich nicht.
Gruß Marcus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige