Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
276to280
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
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wverweis über mehrere Tabellen ?

Wverweis über mehrere Tabellen ?
08.07.2003 14:01:03
Helga
Hallo Leute,
habe ein Problem mit Wverweis.
Diese Formel hat bisher immer gut geklappt:
=WENN(B12="";"";WENN(WVERWEIS($B$2;'[Daten.xls]Tabelle1'!$B$1:$IV$1201;A13+2;FALSCH)="";"";WVERWEIS($B$2;'[Daten.xls]Tabelle1'!$B$1:$IV$1201;A13+2;FALSCH)))
In „B12“ gebe ich einen Wert ein, der in der Datei Daten.xls Tabelle1 gesucht wird
Nun aber, bin ich mit meinen Daten so weit fortgeschritten (250 Spalten), dass ich für meine Daten in der Datei Daten.xls die Tabelle2 benötige und vielleicht in 3-4 Monaten auch die Tabelle3 u.s.w.
Leider benötige ich Wverweis, da ich mehr als 1100 Daten in jeder Spalte vorliegen habe, sonst könnte ich ja sverweis nehmen und hätte dann die nächsten 20 Jahre Ruhe :-))
Wie müsste jetzt meine Abfrage lauten? Der Wert den ich suche, kann nur einmal vorkommen, aber dann in verschiedenen Tabellen.
Ich weiß, dass ich auch dieses mal Hilfe von euch bekomme und bedanke mich schon mal im Voraus mit einem dicken Küsschen ;-))
Gruß
Helga

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wverweis über mehrere Tabellen ?
08.07.2003 16:48:05
Lothar
Mit dieser Funktion (in ein Standard-Modul) sollte es gehen:
Aufruf:
=SWVerweis("Bezug";"Reihe";SUCHBEREICH1;SUCHBEREICH2; ...)
Beispiel: SWVerweis(A2;2;[Daten.xls]Tabelle1!A2:Z99;[Daten.xls]Tabelle2!A2:Z99)
_________________
Code:
_________________
Option Explicit

Function SWVerweis( _
var As Variant, _
iRow As Integer, _
ParamArray rng())
Dim iCounter As Integer
For iCounter = 0 To UBound(rng)
If IsError(Application.HLookup(var, _
rng(iCounter), iRow, 0)) = False Then
SWVerweis = Application.HLookup(var, _
rng(iCounter), iRow, 0)
Exit Function
End If
Next iCounter
End Function

____________________
Quelle: HWH - SuperSverweis Funktion -(von mir als SuperWvereis abgewandelt)
Gruss
Lothar

Anzeige
@Lothar
08.07.2003 18:00:32
Helga
Super Lothar,
klappt toll, aber einen kleinen Wermutstropfen habe ich. Ich muss dann immer die Daten.xls geöffnet haben. Geht das auch ohne oder wie bringe ich meinem Programm bei, die Datei.xls automatisch mit zu öffnen.
Bin halt ein bisschen doof, was VBA betrifft, aber irgendwann :-)))
Gruß
Helga

AW: @Lothar
09.07.2003 13:25:05
Lothar
Hallo Helga, nichts einfacher als das:
1.) Füge den Code in ein normales Modul ein:
--------------------------------------------
Sub PruefeOpen()
'Feststellen ob Datei schon offen ist bzw. öffnen falls nicht
'Beide Dateien müssen im gleichen Verzeichnis stehen!

Dim dateiFile As String
Dim bearbFile As String
Dim currPath As String
bearbFile = ActiveWorkbook.Name
currPath = ThisWorkbook.Path
' Als dateiFile die relevante Datei eintragen
dateiFile = "Daten.xls"
If WkbExists(dateiFile) Then
' Wechseln zur Bearbeitungstabelle
Windows(bearbFile).Activate
Else
Workbooks.Open Filename:=currPath & "\" & dateiFile
' Wechseln zur Bearbeitungstabelle
Windows(bearbFile).Activate
End If
End Sub

Function WkbExists(dateiFile As String) As Boolean
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks(dateiFile)
If Err = 0 And Not wkb Is Nothing Then
WkbExists = True
End If
On Error GoTo 0
End Function

2. Füge diesen Code in die Bearbeitungtabelle unter DieseArbeitsmappe oder ThisWorkbook ein:
Option Explicit

Private Sub Workbook_Open()
Call PruefeOpen
End Sub


Anzeige
AW: Wverweis über mehrere Tabellen ?
08.07.2003 14:13:10
OttoH
Hallo Helga,
kannst Du im Vorneherein evtl. durch Nummernbereiche abfragen, in welcher TAbelle der gesuchte Wert liegen soll?
zB. 1-200 in Tabelle1
201-400 in Tabelle2 usw
Gruß
OttoH

@OttoH
08.07.2003 14:19:00
Helga
Hallo Otto,
könnte ich machen, ich könnte z.B. in "C2" den Wert dann hinterlegen. Habe aber im Moment einen Knoten im Hirn.
Kannst Du mal den knoten lösen :-))
Gruß
Helga

AW: @OttoH
08.07.2003 14:27:22
OttoH
Hallo Helga,
wenn in Spalte C der Name des Blattes liegt, kannst Du ihn mit INDIREKT in die Formel übernehmen.
Gruß OttoH

AW: @OttoH
08.07.2003 14:38:16
Helga
Tja Otto,
Scheiß Technik, alles dreht sich, füge ich indirekt so in die Formel ein:
=WVERWEIS(B2;'[Daten.xls]indirekt(C2)'!B1:IV1201;2;FALSCH)
bekomme ich eine satte Fehlermeldung: "Die Formel enthält einen ungültigen Bezug zu einem externen Arbeitsblatt"
Gruß
Helga

Anzeige
AW: @OttoH
08.07.2003 15:40:40
Antworter
=WVERWEIS(B2;"'[Daten.xls]"&INDIREKT(C2)&"'!B1:IV1201";2;FALSCH)

AW: @OttoH
08.07.2003 16:05:36
Helga
Ja Otto,
scheint wohl doch nicht so einfach zu sein, denn jetzt bekomme ich eine #Bezug! Fehlermeldung. Habe jetzt sogar manuell in "C2" Tabelle2 eingegeben.
Gruß
Helga

AW: @OttoH
08.07.2003 16:08:00
Antworter
... ist Daten.xls auch geöffnet?

AW: @OttoH
08.07.2003 16:12:11
Helga
nein Otto, ist nicht geöffnet.
Helga

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige