Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Werte neben dem Suchbegriff in Bereich

VBA: Werte neben dem Suchbegriff in Bereich
21.10.2013 21:22:00
UliBrenn
Hallo zusammen!
In einem Formular soll bei einem change-Ereignis in einer Textbox der Inhalt in einem im Namenmanager definierten Bereich (Spalte A) gesucht werden und der Wert rechts neben der Zelle (also eine Spalte weiter) in eine Textbox übertragen werden.
Ich kenne offset, rows, list und count als mögliche Methoden. Kriege aber den Code nicht zusammen.
Und finde trotz intensiver Suche keine passendes Makro im Netz bzw. Lösungsansatz.
Über untenstehendes Makro konnte ich meinen Wert schon finden.
Ich glaube aber, es ist der falsche Ansatz. Es fehlt auch noch die Aufnahme des Wertes rechts neben des Suchwertes in Spalte A. Wäre toll, wenn mich jemand auf die Spur bringen würde…Danke!!!!
Sub SucheRechtDaneben()
Dim Suchbegriff As String
Dim i As Integer
ThisWorkbook.Worksheets("Tabelle1").Activate
For i = 1 To 15000
Suchbegriff = Range("C1").Value
If Suchbegriff = Cells(i, 1).Value Then Exit For
Cells(i, 4).Value = Suchbegriff
Next i
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Mit Folgendem sollte eine schnelle Suche ...
22.10.2013 02:17:06
Luc:-?
…und Notation des Gewünschten möglich sein, Uli:
Sub Suche_ErgRechtsDaneben()
Const spAbstd As Long = 3, adRelBer$ = "A1:A15000", adSuBgr$ = "C1", naRelTab$ = "Tabelle1"
Dim Suchbegriff As String, relTab As Worksheet, _
relBer As Range, suBgr As Range, suZiel As Range
Set relTab = ThisWorkbook.Worksheets(naRelTab)
Set relBer = relTab.Range(adRelBer): Set suBgr = relTab.Range(adSuBgr)
Suchbegriff = suBgr.Value
Set suZiel = relBer.Find(Suchbegriff, relBer(relBer.Cells.Count), _
xlValues, xlWhole, , xlByColumns)
If Not suZiel Is Nothing Then suZiel.Offset(0, spAbstd) = Suchbegriff
Set relTab = Nothing: Set relBer = Nothing
Set suBgr = Nothing: Set suZiel = Nothing
End Sub
Die Suche findet die 1.Zelle im relevanten Bereich, deren ganzer Wert dem Suchbegriff gleich ist.
Alternativ könnte auch eine schnelle For Each-Schleife (Bsp in der VBE-Hilfe zu Find!) verwendet oder über ein Array (ggf auch ein assoziatives wie mit Scripting Dictionary ) vorgegangen wdn. Allerdings hattest du die Ermittlung des Suchbegriffs ohnehin falsch platziert (wird doch nur 1- nicht 15000× benötigt!). Gleiches gilt für die ErgebnisSpeicherung. Witzigerweise kommt es bei dir nicht mehr dazu, wenn der Begriff gefunden wurde! Dafür speicherst du ihn in alle anderen Zellen der Offset-Spalte! War das wirklich deine Absicht? Denn, Es fehlt auch noch die Aufnahme des Wertes rechts neben des Suchwertes in Spalte A, verstehe ich nicht so recht… ;->
Gruß Luc :-?
Besser informiert mit …

Anzeige
AW: Mit Folgendem sollte eine schnelle Suche ...
22.10.2013 21:16:25
UliBrenn
Hallo Luc!
Haben vielen herzlichen Dank für Deine Hilfe!!
Bei dem Code habe ich mir etwas schwer getan. Deine Erläuterung haben mir aber super geholfen!!
Gelöst habe ich es nun wie folgt, wobei zw11 aus einer Textbox kommt!!
Also Luc! - Nochmals vielmals Danke!
Resultat = Cells.Find(What:=zw11, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Resultat = ActiveCell.Offset(0, 1)

Anzeige
Bitte sehr, aber du hast da etwas ...
23.10.2013 04:21:46
Luc:-?
…auf Anfängerniveau verändert, Uli,
was mir gar nicht gefällt! :-|
Gruß Luc :-?

AW: Bitte sehr, aber du hast da etwas ...
23.10.2013 21:45:44
UliBrenn
Ja, das habe ich befürchtet :(
Ich bin noch dran und werde Dich dann - hoffentlich - wieder etwas versöhnen.
Dein Code dient da als Grundlage und Deine Beschreibung! Eingrenzung Suchbreich, Was tun , wenn nichts gefunden wird. Bin dran!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige