Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

vlookup in vba

vlookup in vba
15.10.2008 20:00:00
Christoph
Hallo,
ich hoffe mir kann jemand weiterhelfen.
ich möchte in einem Makro nach einem Datensatz in einer geschlossenen xls. Datei suchen, ähnlich wie bei Sverweis in excel.
Sprich ich suche nach einer eindeutigen Nr. in Spalte A und möchte dann als String den Wert der Spalte B erhalten.
Mit dieser Version klappt das auf jeden Fall nicht.
aaa= Application.WorksheetFunction.VLOOKUP(54789,C:\Mappe1.xls]Tabelle1!C1:C6,3,FALSE)
Danke

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vlookup in vba
15.10.2008 20:30:35
Tino
Hallo Matthias,
vielleicht ist es besser diese Funktion von einer Zelle berechnen zu lassen und diese auslesen und wieder löschen.
Verstehe aber Deine Formel allgemein nicht.
"suche nach einer eindeutigen Nr. in Spalte A"
Warum schreibst Du als Zelle C… und nicht A.
Zudem möchtest Du den Wert aus der Zeile B haben,
also musst Du diesen Bereich in die Matrix mit einbeziehen
Dim Zelle As Range
Dim aaa As String
Set Zelle = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
 Zelle.Formula = "=VLOOKUP(54789,'C:\[Mappe1.xls]Tabelle1'!$A$1:$B$6,2,FALSE)"
    aaa = Zelle.Value
    Zelle.Clear


Gruß Tino

Anzeige
AW: vlookup in vba
15.10.2008 20:37:00
Christoph
Hallo nochmal,

Verstehe aber Deine Formel allgemein nicht.
"suche nach einer eindeutigen Nr. in Spalte A"
Warum schreibst Du als Zelle C… und nicht A.


das C kommt vom Makrorekorder ich habe die Formel aufgezeichnet und war dabei im Z1S1 bezug in Excel.
Die Lösung mit in Zelle berechnen und dann löschen hilft mir nicht weiter.
Danke trotzdem.

AW: vlookup in vba
15.10.2008 20:52:00
Tino
Hallo,
soweit ich weis, kann VBA nicht auf geschlossene Dateien zugreifen.
Du müsstest die Datei zuvor öffnen.
Sub test()
Dim strDatei As String
Dim aaa As String
Dim meDatei As Workbook
strDatei = "C:\Mappe1.xls"
Application.ScreenUpdating = False
 
Set meDatei = Workbooks.Open(strDatei)
With Application.WorksheetFunction
 aaa = .VLookup(54789, meDatei.Sheets("Tabelle1").Range("A1:B6"), 2, False)
End With
meDatei.Close False
    
Application.ScreenUpdating = True
End Sub


Gruß Tino

Anzeige
AW: vlookup in vba
15.10.2008 21:09:34
Daniel

Du müsstest die Datei zuvor öffnen.


das ist sowieso meist die besser Lösung, vorallem, wenn es sich nicht nur um eine Zelle, sondern um viele Zellen handelt, die übertragen werden sollen.
Denn auch Fernbezügen in Formeln werden deutlich schneller aktualisiert, wenn die entsprechende Datei geöffnet ist.
allerdings sollte man, um Konflikte mit anderen Anwendern zu vermeiden, in solchen Fällen die Datei von vorneherein schreibgeschützt öffnen:


Set meDatei = Workbooks.Open(strDatei, ReadOnly:=True)


Gruß, Daniel

Anzeige
AW: vlookup in vba
15.10.2008 21:17:47
Tino
Hallo Daniel,
Zu erstens.
bei einem Zellbereich A1:B6, finde ich es nicht nötig diese Datei zuvor zu öffnen,
ist sogar schneller.
Zu zweitens.
die Datei wird sowieso ohne zu speichern geschlossen.
Gruß Tino
AW: vlookup in vba
15.10.2008 22:13:10
Daniel
Hi
zu 1
deswegen sprach ich ja auch von "vielen Zellen". 12 sind natürlich noch wenige.
zu 2
mittlerweile ist es ja so, daß oft in Netzwerken gearbeitet wird und ein anderer Anwender die Datei geöffnet haben könnte.
Bei einem Öffnen ohne Schreibschutz würde nun das Makro unterbrochen und die die Abfrage, ob Schreibgeschützt geöffnet werden soll, würde erscheinen und müsste vom Anwender bestätigt werden.
aber auch im umgekehrten Fall ist das schreibgeschütze Öffnen vorteilhaft.
wenn ich die Datei schreibgeschützt öffne, können andere Anwender die Datei weiterhin zum Bearbeiten öffnen und müssen nicht erst warten, bis ich die Datei geschlossen habe.
daher sollte beim Arbeiten in Netzwerken eine Datei, die nur zum Lesen geöffnet wird, immer schreibgeschützt geöffnet werden.
Gruß, Daniel
Anzeige
AW: vlookup in vba
15.10.2008 22:33:00
Tino
Hallo,
von einem Netzwerk war doch auch keine rede?
Also ich habe mein Laufwerk C: auf der arbeit nicht freigegeben!
Aber ich weis worauf Du hinaus willst.
Gruß Tino
AW: vlookup in vba
15.10.2008 22:51:42
Daniel
Hi
bei "C:\Mappe1.xls" als Dokumentnamen kann man eigentlich davon ausgehen, daß es sich um eine Beispieldatei handelt und nicht um den realen Dateinamen.
was beim Fragesteller dann tatsächlich vorliegt, ist reine Spekulatiion.
Gruß, Daniel
Christoph kann sich das richtige rauspicken. oT.
15.10.2008 22:56:00
Tino

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige