Tabelle durchsuchen mit VBA

Gegrüßt seien alle VBA-Experten!

Der Anwender soll in einem Formular eine Artikelnummer eingeben können, die in Spalte A von Tabelle 1 gesucht wird, damit weitere Spalten aus dieser Zeile von Tabelle 1 in Tabelle 2 kopiert werden können.

Ich habe bereits ein Makro geschrieben, das das tut, aber Tabelle 1 wird mit einer For-next-Schleife durchsucht und das dauert bei 30000 Datensätzen zu lange.

Frage: Wie kann man mit VBA (mindestens) so schnell in einer Tabelle suchen, wie das mit STRG-F in Excel möglich ist? Wer weiß, was der Trick ist?

Vielen Dank im Voraus
Roland

Tach,

schon versucht ein makro aufzuzeichnen, mit suchen, dann beenden. viell. kannst du da sinnvoller was machen.

kann jetzt leider nicht nach gucken, hab hier kein excel

evtl. hilft auch die verweis funktion, je nachdem, was du genau haben musst.

gruß marcel

Versuchs mal so :smile:)
Hallo,

wenn du 2 Blätter hast (Tabelle1, Tabelle2) musst du beim Start des Macros irgendwo in Blatt „Tabelle1“ stehen.
Dann Macro starten.
Die Zeile, die die Artikelnummer „1613“ enthält wird in das Blatt „Tabelle2“ auf Zeile „A6“ kopiert und das Programm kehrt wieder auf das wieder Blatt „Tabelle1“ auf die Zelle „A1“ zurück.

Sub Macro2()

’ Macro2 Macro
’ Macro recorded 23.07.02 by Hans Krause


Columns(„A:A“).Select

'hier steht die Artikelnummer
Artikelnummer$ = „1613“

'hier wird die Find-Funktion aufgerufen
Selection.Find(What:=Artikelnummer$, _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:=False).Activate
Zeile$ = ActiveCell.Address

'Anzeige der gefundenen Zelle in der EXCEL-Statuszeile
Application.StatusBar = „Gefunden wurde …“ + Zeile$

Zeile$ = Mid$(ActiveCell.Address, 3)
Rows(Zeile$ + „:“ + Zeile$).Select
Selection.Copy
Sheets(„Tabelle2“).Select
Rows(„6:6“).Select

'einfügen der kopierten Zeile
ActiveSheet.Paste

'Rückkehr auf Blatt Tabelle1
Sheets(„Tabelle1“).Select
Range(„A1“).Select
End Sub

Gruss
Hans

1 „Gefällt mir“

Vielen Dank!
Servus Hans

Vielen Dank, mit der Find-Funktion geht das genau so, wie ich es haben wollte!

Eigentlich hätte ich auch selber draufkommen müssen, dass man auch STRG-F aufzeichnen und dann anschauen kann … :wink:

MfG
Roland