Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

In mehreren Tabellen suchen

In mehreren Tabellen suchen
Herbert
Hallo Leute,
habe bereits herumgestöbert aber leider noch keine Lösung für mein Problem gefunden und hoffe ihr könnt mir helfen.
Ich habe eine Datei mit 68 Tabellen, die verschiedene Namen haben. In der, nennen wir sie mal Tab. 1, sind in der Spalte A Artikelnr. angegeben, nun möchte ich in den anderen Tabellen suchen ob dort diese Nr. nochmals vorhanden ist – sie kann max. nur noch einmal vorkommen – wenn ja, soll in der Spalte H der Tab. 1 der Wert der Spalte E der Tabelle in der die Artikelnr. nochmals gefunden worden ist , eingetragen werden. Ich hoffe mein Problem verständlich erklärt zu haben und danke schon jetzt für die Rückmeldung.
Gruß - Herbert
AW: In mehreren Tabellen suchen
18.02.2011 11:46:58
Herbert
Danke Hajo für die schnelle Antwort, jedoch ist es nicht ganz das richtige, es soll gesucht werden und wenn gefunden ein Wert zurückgegeben werden
AW: In mehreren Tabellen suchen
18.02.2011 15:59:27
Herbert
gibt es keine Lösung?
AW: In mehreren Tabellen suchen
21.02.2011 10:57:08
Herbert
Hallo Jörn,
danke für deinen Link.
Da aber jede der 67 Tabellen einen anderen Namen hat, ist es sehr umständliche jeden Namen in die Formel zu schreiben - gibt es keine VBA Lösung?
Gruß Herbert
VBA-ler gesucht ...
21.02.2011 12:56:52
Jörn
Hallo Herbert,
da müsste einer der VBA Profis ran, ist nicht mein Steckenpferd ...
Gruß
Jörn
AW: In mehreren Tabellen suchen
21.02.2011 13:22:53
Josef

Hallo Herbert,
auf die schnelle und nur auf deine beschriebene Situation zugeschnitten.
Forlgenden Code in ein allgemeines Modul.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function SVERWEIS_3D(Suchkriterium As Variant, Matrix As String, Spaltenindex As Long) As Variant
  Dim rng As Range, objWs As Worksheet, objThisWorkSheet As Worksheet
  
  Set objThisWorkSheet = Application.ThisCell.Parent
  
  For Each objWs In objThisWorkSheet.Parent.Worksheets
    If Not objWs Is objThisWorkSheet Then
      Set rng = objWs.Range(Matrix).EntireColumn.Columns(1).Find(What:=Suchkriterium, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=False)
      If Not rng Is Nothing Then
        SVERWEIS_3D = objWs.Range(Matrix).EntireColumn.Cells(rng.Row, Spaltenindex).Value
        Exit For
      End If
    End If
  Next
  
End Function

in der Tabelle wird die Funktion so angewendet:
Tabelle1

 AB
4612312399
4745645699
4878978999
4912312399

Formeln der Tabelle
ZelleFormel
B46=sverweis_3d(A46;"A:E";5)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Sepp

Anzeige
Vielen Dank Sepp!
21.02.2011 15:31:20
Jörn
so schnell erstellt, so gut funktioniert die Formel.
Nur zum Verständnis (sorry, daß ich das immer schreiben muß :-o ...) - die F1-Erklärung ist sehr sparsam:
-Da es die parent-Eigenschaft in vielfacher Form gibt: woher weiß man, welches das "übergeordnete Object" zum jeweiligen Ausdruck ist und welche Rolle spielt ganz generell der Ausdruck hinterm parent (hier: .worksheets)
-Und: ist parent auch in Subs verfügbar? Meine bescheidenen Möglichkeiten mit Msgbox ausgeben haben mich hier nicht weitergebracht.
vielen Dank für eventuelle Erklärungen
Gruß
Jörn
AW: Vielen Dank Sepp!
21.02.2011 15:40:16
Josef

Hallo Jörn,
ThisCell ist die Zelle aus der die Funktion aufgerufen wird, also ist ThisCell.Parent das Tabellenblatt das die Zelle beinhaltet. ThisCell.Parent.Parent ist dann die Arbeitsmappe die ThisCell enthält.
Wenn man mit .Parent arbeitet, muss man schon wissen, worauf man refferenziert, weil eben viele Objekte die .Parent - Eigenschaft besitzen.

Gruß Sepp

Anzeige
Danke owT
21.02.2011 15:43:38
Jörn
AW: In mehreren Tabellen suchen
21.02.2011 16:45:56
Herbert
Hallo Sepp,
danke für deinen Beitrag, leider bin ich etwas ungeschickt und bei mir kommt nur #Wert! heraus.
Zum besseres Verständnis lege ich dir einen Teil der Datei bei,
https://www.herber.de/bbs/user/73654.xls
Gruß Herbert
AW: In mehreren Tabellen suchen
21.02.2011 17:07:19
Reinhard
Hallo Herbert,
alles deine Schuld, du hast deine Version nicht angegeben, bei 2000 gibt es kein ThisCell.
Gruß
Reinhard
AW: In mehreren Tabellen suchen
21.02.2011 17:11:06
Herbert
Hallo Reinhard,
danke für deine Hinweis, bin eben ein Laie. Gibt es eine andere Lösung?
Gruß Herbert
AW: In mehreren Tabellen suchen
21.02.2011 17:31:08
Josef

Hallo Herbert,
"... bin eben ein Laie"
und warum gibst du dann bei Version "Ohne Relevanz" ein?
Nimm diesen Code.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function SVERWEIS_3D(Suchkriterium As Variant, Matrix As String, Spaltenindex As Long) As Variant
  Dim rng As Range, objWs As Worksheet, objThisWorkSheet As Worksheet
  
  On Error GoTo ErrExit
  
  If Spaltenindex > Range(Matrix).Columns.Count Then GoTo ErrExit
  
  Set objThisWorkSheet = Application.Caller.Parent
  
  For Each objWs In objThisWorkSheet.Parent.Worksheets
    If Not objWs Is objThisWorkSheet Then
      Set rng = objWs.Range(Matrix).EntireColumn.Columns(1).Find(What:=Suchkriterium, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=False)
      If Not rng Is Nothing Then
        SVERWEIS_3D = objWs.Range(Matrix).EntireColumn.Cells(rng.Row, Spaltenindex).Value
        Exit For
      End If
    End If
  Next
  
  If SVERWEIS_3D = "" Then SVERWEIS_3D = CVErr(xlErrNA)
  Exit Function
  
  ErrExit:
  SVERWEIS_3D = CVErr(xlErrRef)
End Function


Gruß Sepp

Anzeige
AW: In mehreren Tabellen suchen
21.02.2011 18:02:44
Herbert
Hallo Sepp,
sorry - habe den neuen Code eingesetzt - Tabelle1 Zelle H2 = Sverweis_3D(A2;"A:E";5) + Risultat ist #NV
was mach ich falsch?
Gruß Herbert
AW: In mehreren Tabellen suchen
21.02.2011 18:06:16
Josef

Hallo Herbert,
das Resultat #NV bedeutet, das die Arikelnummer nicht gefunden wurde.
Lade doch mal eine Beispieldatei hoch.

Gruß Sepp

Anzeige
AW: In mehreren Tabellen suchen
21.02.2011 18:15:05
Herbert
Hallo Sepp,
hier die Datei - der Artikel befindet in der Tabelle Cavi_in_rame Zelle A2 - mit normalen SVERWEIS findet er ihn - siehe Zelle I2
https://www.herber.de/bbs/user/73658.xls
Gruß
AW: In mehreren Tabellen suchen
21.02.2011 18:30:12
Josef

Hallo Herbert,
sorry, .Find kann in xl2000 nicht funktionieren. Du siehst also, das die Version sehrwohl von relevanz ist!
Probier diesen Code.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function SVERWEIS_3D(Suchkriterium As Variant, Matrix As String, Spaltenindex As Long) As Variant
  Dim objWs As Worksheet, objThisWorkSheet As Worksheet
  Dim vntRet As Variant
  
  On Error GoTo ErrExit
  
  If Spaltenindex > Range(Matrix).Columns.Count Then GoTo ErrExit
  
  Set objThisWorkSheet = Application.Caller.Parent
  
  For Each objWs In objThisWorkSheet.Parent.Worksheets
    If Not objWs Is objThisWorkSheet Then
      vntRet = Application.Match(Suchkriterium, objWs.Range(Matrix).EntireColumn.Columns(1), 0)
      If IsNumeric(vntRet) Then
        SVERWEIS_3D = objWs.Range(Matrix).EntireColumn.Cells(vntRet, Spaltenindex).Value
        Exit For
      End If
    End If
  Next
  
  If SVERWEIS_3D = "" Then SVERWEIS_3D = CVErr(xlErrNA)
  Exit Function
  
  ErrExit:
  SVERWEIS_3D = CVErr(xlErrRef)
End Function


Gruß Sepp

Anzeige
AW: In mehreren Tabellen suchen
22.02.2011 08:13:05
Herbert
Hallo Sepp,
Vergeltsgott, d.h. auf Südtirolerisch Herzlichen Dank - es funktioniert einwandfrei
Noch einen schönen Tag und Gruß
Herbert

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige