Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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
Tabelle nach Namen durchsuchen
12.12.2016 16:07:44
Lenny
Guten Tag Zusammen
Sitze wieder einmal vor einem Problem und komme nicht weiter...
Ich habe ein Excel bekommen, das aus einer Datenbank Listen mit Dokumentennamen und weitern Informationen importiert. Nun sind diese Listen mehrere hundert Zeilen lang und das Suchen und Auffinden einer oder mehreren spezifischen Zeilen ist mit der Suchen und Auswählen Funktion nicht wirklich händelbar.
Meine Idee ist, dass durch ein Makro die Tabelle mit Stichworten durchsucht werden kann und die entsprechen Zeilen markiert werden.
Grundsätzliche habe ich das mithilfe von gefunden Makros hingebracht, aber mein 1. Problem ist, dass die entsprechenden Zeilen eben nicht markiert werden.
2. würde ich gerne, dass die gefunden Zeilen kopiert und unter die erste Zeile eingefügt werden. Wie ich das hinkriege soll weiss ich noch nicht, aber vielleicht bekomme ich einen Hinweis dazu von euch.
Vielen Dank in Voraus für eure Unterstützung
Hier die Beispieldatei dazu: https://www.herber.de/bbs/user/109999.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle nach Namen durchsuchen
12.12.2016 16:39:52
Anton
Hi Lenny,
das Markieren der Zellen funktioniert bei mir. Kopieren kannst Du folgendermaßen:
Sub Name_Markieren()
Dim suchName As String
Dim zeLLe As Range
Dim markRange As Range
' Bei Diagrammblättern gleich raus
If Not TypeOf ActiveSheet Is Worksheet Then Exit Sub
suchName = InputBox("Suchbegriff eingeben:", "Suchfeld")
If suchName = "" Then Exit Sub
Application.ScreenUpdating = True
With ActiveSheet
' Alte Markierung löschen
.Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Interior.ColorIndex = xlNone
For Each zeLLe In .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
If InStr(LCase(zeLLe), LCase(suchName))  0 Then
If markRange Is Nothing Then
Set markRange = zeLLe
Else
Set markRange = Union(markRange, zeLLe)
End If
End If
Next
If Not markRange Is Nothing Then
With markRange.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
markRange.EntireRow.Copy .Cells(2, 1)
End If
End With
Application.ScreenUpdating = True
End Sub
Schöne Grüße,
Anton
Anzeige
AW: Tabelle nach Namen durchsuchen
13.12.2016 11:57:18
Lenny
Vielen Dank Anton!
Das Markieren und Kopieren der gefunden Zeilen funktioniert :-)
Mich plagen aber noch zwei Probleme.
1. Es wird ja nur die Spalte A durchsucht. Ich sehe im Code nicht wo das definiert ist? Eigentlich möchte spalte B durchsuchen.
Wie ich gesehen habe, kann das mit "UCase" realisiert werden. Aber wo setzte ich das ein?
2. Schön wäre es noch, wenn Gross und Kleinschreibung keine Rolle spielen würde und das auch bei Teilübereinkunft Treffer angezeigt werden.
Gruss
Lenny
AW: Tabelle nach Namen durchsuchen
13.12.2016 12:05:11
Lenny
Mir ist gerade noch aufgefallen, dass die Fehlermeldung '1004' Die Auswahl ist ungültig erscheint wenn kein Treffer gefunden wurde. Das ist etwas unschön. Könnte hier stattdessen eine "OutputBox" eingeblendet werden?
Danke und Gruss Lenny
Anzeige
AW: Tabelle nach Namen durchsuchen
14.12.2016 11:51:50
Lenny
Ich setzte diesen Beitrag Mal auf "beantwortet", da mir mit meinem grundsätzlichen Problem geholfen wurde und ich eigentlich noch mehr offene Frage haben, die ich jedoch in einem neuen Beitrag stellen werde.

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige