Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1688to1692
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
Suche in einer anderen Datei
01.05.2019 17:24:16
Marquardt
Hallo zusammen,
ich habe mir über ein UserForm eine Suchfunktion erstellt (mit sehr viel Mühe und Hilfe über dieses Forum).
Jetzt muss ich aber in einer anderen Datei suchen. Suchen muss ich in Spalte d und das Ergebnis soll b+e sein.
Kann mir jemand helfen? Vielen Dank!

Private Sub CommandButton1_Click()
Dim zelle As Range
Dim strZelle As String
ListBox1.Clear
With Range("c2:B10000" & Range("c10000").End(xlUp).Row) 'Suche bis Zeile 10000
Set zelle = .Find(TextBox1.Value, LookIn:=xlValues)
If Not zelle Is Nothing Then
strZelle = zelle.Address
Do
With ListBox1
ListBox1.ColumnWidths = "0 Pt;60 Pt"
.ColumnCount = 3
.AddItem zelle.Address           .List(.ListCount - 1, 1) = "Zeile " & zelle.Row       _
_
_
_
_
.List(.ListCount - 1, 2) = Cells(zelle.Row, 1)
End With
Set zelle = .FindNext(zelle)
Loop While zelle.Address  strZelle
End If
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche in einer anderen Datei
01.05.2019 20:01:11
Werner
Hallo,
dir ist klar, dass die Datei in der du suchen willst offen sein muss bzw. göffnet werden muss?
Gruß Werner
AW: Suche in einer anderen Datei
03.05.2019 11:57:45
Marquardt
Hallo,
ist mir klar. Die kann ich doch zu Beginn öffnen und dann wieder schließen. Oder?
Gruß
AW: Suche in einer anderen Datei
04.05.2019 13:49:46
Werner
Hallo,
so:
Private Sub CommandButton1_Click()
Dim zelle As Range, strZelle As String
Dim wbQuelle As Workbook
Application.ScreenUpdating = False
If Me.TextBox1  "" Then
Me.ListBox1.Clear
'hier den Pfad und den Dateinamen anpassen
Set wbQuelle = Workbooks.Open("C:\Ordner\Unterordner\Unterordner1\Deine_Datei.xlsx")
'hier den Blattnamen anpassen
With wbQuelle.Worksheets("Tabelle1").Columns(4)
Set zelle = .Find(Me.TextBox1, LookIn:=xlValues)
If Not zelle Is Nothing Then
strZelle = zelle.Address
Do
With Me.ListBox1
.AddItem zelle.Address
.List(.ListCount - 1, 1) = zelle.Offset(, -2)
.List(.ListCount - 1, 2) = zelle.Offset(, 1)
End With
Set zelle = .FindNext(zelle)
Loop While zelle.Address  strZelle
Else
MsgBox "Suchbegriff wurde nicht gefunden."
Me.TextBox1.SetFocus
End If
End With
Else
MsgBox "Bitte einen Suchbegriff eingeben."
Me.TextBox1.SetFocus
Exit Sub
End If
wbQuelle.Close , False
Set wbQuelle = Nothing
End Sub
Die Datei wird im Hintergrund geöffnet und nach einlesen der Daten ohne Speichern wieder geschlossen.
Das Einstellen der Spaltenanzahl sowie der Spaltenbreite hab ich aus dem Code raus genommen. Das macht keinen Sinn es jedesmal im Code einzustellen. Stell die Spaltenanzahl sowie die Spaltenbreiten doch einfach einmalig im Eigenschaftenfenster der Listbox ein.
Gruß Werner
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige