Herbers Excel-Forum - das Archiv

Suche im Ordner in allen .xls und Tab - 2 Variable

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Suche im Ordner in allen .xls und Tab - 2 Variable
von: Alexander

Geschrieben am: 14.12.2006 20:57:52
Hallo Zusammen
Hab da eine für mich nicht lösbare VBA Frage und würde mich über eure Hilfe unendlich freuen.
Zur Frage:
Ordner = c:\Test (Suchordner) enthält mehrere Workbooks (identisch aufgebaut - Namen der Workbooks Variabel)
Worksheets = jedes Workbook enthät mehrere Worksheets (identisch aufgebaut - Namen der Worksheets Variabel)
Suchbegriff 1 = 999 (Artikelnummer) --Suchindex immer A2:A100
Suchbegriff 2 = test (Artikelbezeichnung) --Suchindex immer B2:Z2
----------------------
SuchFazit:
Wenn "Workbook x"; "Worksheets x"; "Suchbegriff 1 (A2:A100)"; und "Suchbegriff 2 (Zeile B2:Z2); Dann gib mir Schnittmenge z.B
---
Suchbegriff 1 (Artikelnummer) wird gefunden z.B in Workbook x; Worksheet x; Spalte A50;
Suchbegriff 2 (Artikelbezeichnung) befindet sich z.B in Workbook x; Worksheet x; Zeile F2;
Dann gib mit dasEergebnis in Zelle z.B A1 aus (Richtiges Ergebnis
wäre Inhalt Workbook x; Worksheet x; Zeile F50)
Geht eine solche Suche innerhalb eines Ordners ??? wenn nicht,
geht eine solche Suche innerhalb eines Workbooks ???
-----
Ach ja hab ich noch vergessen, Die zu durchsuchenden Workbooks sind nicht geöffnet!!!!!!
-----
Wäre über jede Hilfe Dankbar, auch über eine Suchfunktion mit der ich die Workbooks direkt ansprechen und durchsuchen könnte.
Wie gesagt, der Suchindex ist immer der gleiche, bei jedem Workbook und innerhalb auch jedes Worksheets...
Ich hoffe ich hab mich verständlich ausgedrückt und Bedanke mich vorab für jede Anregung und jeden Hinweis.
Gruß Alexander
Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Variable
von: Jens
Geschrieben am: 14.12.2006 21:43:13
Hi,
ein guter Programmierer:
http://rtsoftwaredevelopment.de/
mfg Jens
Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Vari
von: Alexnader

Geschrieben am: 14.12.2006 22:45:30
Hallo Jens
Ließe sich ein guter Programmierer umgehen, wenn ich wie vorstehend nur über 2 Variable Suchbegriffe lediglich ein Workbook mit 50 Sheets durchsuchen möchte ????
Beispiel:
Suche Begriff 1 (C:\Workbook.xls) alle Worksheets (A2:A100 = Artikelnummer)
Suche Begriff 2 (C:\Workbook.xls) alle Worksheets (B2:Z2 = Artikelbezeichnung)
Gib mir Schnittmenge in Zelle A1 aus (Ergebnis wäre z.B. Wert aus Worksheet, Blatt2, F50)
Bisher verwende ich folgende Formel:
=WENN(ISTNV(INDEX('C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$27:$BL$1000;
VERGLEICH($E27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($G27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$14;0)));Q27;
INDEX('C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($E27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($G27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$14;0)))
Die Formel Funzt gut, leider nur über 1 Tabellenblatt!!
Nun möchte ich eine VBA-Lösung die mir die Formel über 50Tabellenblätter wenn nicht sogar über mehrere Arbeitsmappen ermöglicht, denn mit der Wenn(Istnv(index... Formel wird das ganze ein wenig unübersichtlich und dann ist ja da noch das wenn problem (6x dann schluß)
Ist das ohne Programmierer möglich
Übrigens herzlichen Dank für deine Antwort
Gruß Alex
Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Vari
von: Alexnader

Geschrieben am: 14.12.2006 22:47:40
Hallo Jens
Ließe sich ein guter Programmierer umgehen, wenn ich wie vorstehend nur über 2 Variable Suchbegriffe lediglich ein Workbook mit 50 Sheets durchsuchen möchte ????
Beispiel:
Suche Begriff 1 (C:\Workbook.xls) alle Worksheets (A2:A100 = Artikelnummer)
Suche Begriff 2 (C:\Workbook.xls) alle Worksheets (B2:Z2 = Artikelbezeichnung)
Gib mir Schnittmenge in Zelle A1 aus (Ergebnis wäre z.B. Wert aus Worksheet, Blatt2, F50)
Bisher verwende ich folgende Formel:
=WENN(ISTNV(INDEX('C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$24:$BL$1000;
VERGLEICH($E27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($G27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$14;0)));Q27;
INDEX('C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($E27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($G27;'C:\Programme\[Artikel 3.0.xls]Tabelle1'!$T$14:$BL$14;0)))
Die Formel Funzt gut, leider nur über 1 Tabellenblatt!!
Nun möchte ich eine VBA-Lösung die mir die Formel über 50Tabellenblätter wenn nicht sogar über mehrere Arbeitsmappen ermöglicht, denn mit der Wenn(Istnv(index... Formel wird das ganze ein wenig unübersichtlich und dann ist ja da noch das wenn problem (6x dann schluß)
Ist das ohne Programmierer möglich
Übrigens herzlichen Dank für deine Antwort
Gruß Alex
Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Vari
von: da
Geschrieben am: 14.12.2006 23:15:57
https://www.herber.de/forum/messages/829581.html
Bild

Betrifft: Frage vereinfacht - Index-suche über mehrere Tabs
von: Alexander

Geschrieben am: 14.12.2006 23:22:50
Suche in geschlossenem EXCEL-Workbook erweitern
Bisher verwende ich folgende Formel:
=WENN(ISTNV(INDEX('C:\[Artikel.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($A1;'C:\[Artikel.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($A2;'C:\[Artikel.xls]Tabelle1'!$T$14:$BL$14;0)));Q27;
INDEX('C:\[Artikel.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($A1;'C:\[Artikel.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($A2;'C:\[Artikel.xls]Tabelle1'!$T$14:$BL$14;0)))
Nun möchte ich diese Formel auf mehrere Sheets erweitern, und wenn dies möglich ist, sogar über mehrere Workbooks mit mehreren Sheets.
Die Formel ist ein wenig unhandlich und wenn die Dateinamen ausgeschriben werden auch ein wenig unübersichtlich!!!
Kann mir jemand hier helfen, wie kann ich die Formel auf merere Sheets erweitern oder gibt es da sogab eine VBA-Lösung mit der ich (etwas Übersichtlicher) die Aufgabe erledigen kann????????????????????????????????????
Mit Dank für jede Form der Hilfe
Alexander
Bild

Betrifft: AW: Frage vereinfacht - Index-suche über mehrere Tabs
von: Pisa

Geschrieben am: 14.12.2006 23:35:32

Suche in geschlossenem EXCEL-Workbook erweitern
Bisher verwende ich folgende Formel:
=WENN(ISTNV(INDEX('C:\[Artikel.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($A1;'C:\[Artikel.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($A2;'C:\[Artikel.xls]Tabelle1'!$T$14:$BL$14;0)));Q27;
INDEX('C:\[Artikel.xls]Tabelle1'!$T$14:$BL$1000;
VERGLEICH($A1;'C:\[Artikel.xls]Tabelle1'!$D$14:$D$1000;0);
VERGLEICH($A2;'C:\[Artikel.xls]Tabelle1'!$T$14:$BL$14;0)))
Nun möchte ich diese Formel auf mehrere Sheets erweitern,
und wenn dies möglich ist, sogar über mehrere Workbooks mit mehreren Sheets.
Die Formel ist ein wenig unhandlich und wenn die Dateinamen ausgeschriben
werden auch ein wenig unübersichtlich!!!(nutzlos)
Kann mir jemand hier helfen, wie kann ich die Formel auf merere
Sheets erweitern oder gibt es da sogab
eine VBA-Lösung(Komma fehlt)
mit der ich (etwas Übersichtlicher)
die Aufgabe erledigen kann????????????????????????????????????(nutzlos)


 


Grüße aus Pisa


Bild

Betrifft: AW: Frage vereinfacht - Index-suche über mehrere T
von: Alexander

Geschrieben am: 14.12.2006 23:53:03
Herzlichen Dank für die sinnlose Herausstellung der Rechtschreibfehler zu dieser späten Stunde.
Leider muss deine Antwort mit mangelhaft bewerten werden, da Themaverfehlung!
Als Hilfestellung für deine herausragenden Deutschkenntnisse sei anzumerken:
Wer das große Ganze nicht zu überschauen vermag, der blickt auf das ihm entsprechende Kleine.
Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Variable
von: Christoph M

Geschrieben am: 14.12.2006 23:56:36
Hallo Alexander,
Hier ein Ansatz (Annahme: in Spalte A stehen Zahlen, in Zeile 2 steht Text)
Gib mir Bescheid, wie du damit parat kommst.
Gruß
Christoph
Option Explicit
Sub SearchData()
Dim strFldr$, strArt$, strRes$
Dim Id, varId, varArt, i&, j&
With Application.FileDialog(4)
If .Show Then strFldr = .SelectedItems(1)
End With
Id = CLng(Application.InputBox("Artikelnr:"))
strArt = Application.InputBox("Artikel:")
If Left(strFldr, 1) <> "\" Then strFldr = strFldr & "\"
strFldr = Dir(strFldr & "*.xls")
Application.ScreenUpdating = False
Do While strFldr <> ""
Workbooks.Open strFldr
With ActiveWorkbook
For i = 1 To .Worksheets.Count
varId = Application.Match(Id, .Worksheets(i).Columns(1), 0)
varArt = Application.Match(strArt, .Worksheets(i).Rows(2), 0)
If Not IsError(varId) And Not IsError(varArt) Then
strRes = strRes & "File: " & .Name & _
" / Sheet: " & .Worksheets(i).Name & _
" / Row: " & varId & " / Column: " & varArt & vbCrLf
End If
Next
End With
ActiveWorkbook.Close
strFldr = Dir()
Loop
If strRes = "" Then strRes = "-"
MsgBox "found: " & vbCrLf & strRes
Application.ScreenUpdating = True
End Sub

Bild

Betrifft: AW: Suche im Ordner in allen .xls und Tab - 2 Vari
von: Alexander

Geschrieben am: 15.12.2006 00:12:46
Hallo Christoph
Bin deinen Code mal so überflogen, soweit ich das jetzt überblicke entsprich dein Ansatz genau dem was ich suche .
Werde morgen gleich damit weiterarbeiten und versuchen ihn auf meine Tabelle(n) zu modifizieren.
Ich danke dir wirklich sehr für deine Hilfe, denn sitze mittlerweile seit Wochen an diesem Problem und finde einfach keine Lösung!!!!! Danke, Danke, Danke.
Gruß und geruhsame Nacht wünscht dir,
Alexander
 Bild
Excel-Beispiele zum Thema "Suche im Ordner in allen .xls und Tab - 2 Variable"
Excel-Dateien eines Ordners listen Ordner eines Verzeichnisses in ListBox übernehmen
Bei Doppelklick Ordner im Explorer öffnen Dateien einer Ordnerliste in einer Tabelle zusammenstellen
Ordnernamen eines Verzeichnisses in Zelle einfügen Dateisuche unter Einbeziehung der untergeordneten Ordner
Ordnerdialog mit nachfolgendem Dateidialog aufrufen Aus Dialog Verzeichnis auswählen, dann neuen Ordner erstellen
Die Eigenschaft "Stichwort" in allen Dateien eines Ordners ändern Vorhandensein von Verzeichnissen prüfen und Ordner anlegen