Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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
String suchen - VBA
Klaus
Meine sehr geschätzten EXCEL-Gurus!
Wieder einmal wende ich mich, und zwar mit folgender Bitte an euch:
Ich verwalte meine Jazz-CD's in einer, wie sollte es auch anders sein, EX-Tabelle.
Eine ziemlich simple Tabelle - Zeile 1 dient als Kopfzeile - in den darauffolgenden ca. 8.000 Zeilen werden die CD-bezogenen Daten, nach Band-Leader alphabetisch sortiert, verwaltet.
Die Band-LEADER stehen in Spalte B.
Ich bräuchte nun ein Makro, dass z.B. über Eingabe eines Strings in eine InputBox nach Band-Leader sucht und je nach Eingabe den gesuchten Bereich unter die fixierte Kopfzeile scrollt.
Konkret bedeutet dass:
Ich möchte nach einem "Band-Leader" suchen - wichtig dabei erscheint mir, darauf hinzuweisen, dass die "Suche" sozusagen nach dem Suchmodus "Beginnt mit" (wie beim Autofilter/Benutzerdefiniert) durchgeführt werden soll.
Beispiel: Ich suche nach "perez danilo"
In die InputBox trage ich z.B. "pere" ein - das Makro soll nun die 1. Zeile, die in Spalte B mit "pere" beginnt suchen und diese Zeile unter die Kopfzeile scrollen.
Falls mir jemand den erforderlichen Code zur Verfügung stellen kann - vorab 1000 Dank.
Liebe Grüße aus Linz an der Donau / Austria
Klaus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: String suchen - VBA
09.11.2010 21:49:33
fcs
Hallo Klaus,
hier mein Makro-Vorschlag.
Falls noch nicht geschehen, dann zusätzlich das Fenster unterhalb der Zeile 1 fixieren.
Gruß
Franz
Sub FindBandLeader()
Dim wks As Worksheet, rGefunden As Range, vFind As Variant, sFirstAddress As String
Dim bEinzig As Boolean
Const sMsgTitel As String = "Bandleader suchen"
vFind = InputBox(Prompt:="Anfangsbuchstaben des Bandleader-Namens:", Title:=sMsgTitel)
If vFind = "" Then Exit Sub
Set wks = ActiveSheet
With wks
bEinzig = True
Set rGefunden = .Range(.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)).Find( _
what:=vFind & "*", After:=.Cells(1, 2), LookIn:=xlValues, lookat:=xlPart)
If rGefunden Is Nothing Then
MsgBox "Kein Eintrag zu """ & vFind & """ gefunden.", vbInformation + vbOKOnly, _
sMsgTitel
Else
sFirstAddress = rGefunden.Address
Do
With rGefunden
ActiveWindow.ScrollRow = .Row
.Select
End With
Set rGefunden = .Range(.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)).FindNext( _
After:=rGefunden)
If sFirstAddress = rGefunden.Address Then
MsgBox IIf(bEinzig = True, "Einzige Fundstelle", "Letzte Fundstelle"), _
vbInformation + vbOKOnly, sMsgTitel
Exit Do
End If
bEinzig = False
Loop Until MsgBox("Weiter suchen?", vbQuestion + vbOKCancel, sMsgTitel) = vbCancel
End If
End With
Set rGefunden = Nothing: Set wks = Nothing
End Sub

Anzeige
AW: String suchen - VBA
10.11.2010 16:01:29
Klaus
Servus Franz!
Ich verneige mich - Besten Dank - genau das, was ich gesucht hab.
Ein Dankeschön auch den Anderen
LG
Klaus
AW: String suchen - VBA
10.11.2010 00:45:33
Peter.H
Hallo Klaus
hier noch eine weitere Möglichkeit...
https://www.herber.de/bbs/user/72223.xls
Gruß
Peter
Anzeige

252 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige