Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinamen im Sverweis mit VBA verwenden

Dateinamen im Sverweis mit VBA verwenden
12.08.2019 12:12:16
Georg
Liebe Mitglieder,
ich komme nicht klar, wie ein Dateinamen im sverweis mit VBA verwendet wird, obwohl ich schon recherchiert habe, bekomme ich es nicht hin.
Über den Öffnen Dialog wird eine Datei geöffent, die mit wbSk1 bezeichnet wird.
Und genau diese möchte ich sverweis verwenden, wenn es darum geht, die Matrix im Blatt "Neu" zu definieren, und das krieg ich nicht hin.
Der abgebildete Stand (ich habe etliches schon probiert) gibt die Meldung aus Erwarte Anweisungsende!
Vielen Dank für eure Hilfe G
Sub Skill()
Dim wbSk1 As Workbook
MsgBox ("Es wird nun die Skill-Datei mit den Stunden geöffnet, wählen Sie die passende aus!")
'DateiÖffnen Dialog
strFilter = "Excel-Dateien(*.xlsx), *.xlsx" '** Dateifilter definieren
ChDrive "Q"
ChDir "Q:\Geschäftsführung\Organisationsentwicklung\40_Organisationsentwicklung\ _
Excel_Weiterentwicklungen\Bereich_GF"
'** Laufwerk und Pfad definieren, welcher geöffnet werden soll
'ChDir "Q:\Personalwesen\Sonstige\Personalplanung\Verdienstgrenze" 'Pfad zum Testen
'** Den im Dialogfeld gewählten Namen auslesen
strFilename = Application.GetOpenFilename(strFilter)
'** Prüfen, ob eine gültige Datei ausgewählt wurde
If strFilename = False Then Exit Sub
'** Gewählte Datei öffnen
Set wbSk1 = Workbooks.Open(strFilename)
ThisWorkbook.Activate
wbNeu.Activate
With wbNeu.Worksheets(1)
lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 6), .Cells(lngLetzte - 1, 6)).FormulaR1C1 = _
"=IfError(VLOOKUP(RC[-1],["wbSk1" & ".xlsx"]Neu!R2C2:R50000C7,4,FALSE),0)"
End With
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen im Sverweis mit VBA verwenden
12.08.2019 13:06:35
Torsten
Hallo Georg,
versuch die letzte Zeile so:
.Range(.Cells(2, 6), .Cells(lngLetzte - 1, 6)).FormulaR1C1 = "=IfError(VLOOKUP(RC[-1],[" & wbSk1 & "]Neu!R2C2:R50000C7,4,FALSE),0)"

Gruss Torsten
AW: Dateinamen im Sverweis mit VBA verwenden
12.08.2019 13:16:26
Torsten
Hallo nochmal Georg,
vergiss es. Hab was uebersehen.
VBA erwartet hier einen String. Also musst du den Workbook Namen erst an eine Stringvariable uebergeben und dann kannst du ihn dort verwenden.
wbSk1 ist ja als Workbook deklariert.
z. B. :
Dim strwbSk1 as String
strwbSk1 = wbSk1.Name

Anzeige
AW: danke Torsten, kannst du bitte..
12.08.2019 13:54:14
Georg
nochmals drüberschauen, es kommt ein Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft nicht in der Zeile .range....
Ich habe jetzt nur den relevanten Ausschnitt des Codes hier eingefügt. Was mache ich falsch?
Danke & Gruß G
Sub TeilCode()
Set wbSk1 = Workbooks.Open(strFilename)
wbSk1.Activate
Dim strwbSk1 As String
strwbSk1 = wbSk1.name
wbNeu.Activate
With wbNeu.Worksheets(1)
lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 6), .Cells(lngLetzte - 1, 6)).FormulaR1C1 = "=IfError(VLOOKUP(RC[- _
1],[" & wbSk1 & "]Neu!R2C2:R50000C7,4,FALSE),0)"
End With
End Sub

Anzeige
AW: danke Torsten, kannst du bitte..
12.08.2019 13:57:21
Torsten
Du musst dann in der Formel auch die String Variable verwenden
AW: danke , eigentlich logisch.....
12.08.2019 14:46:09
Georg
...manchmal steht man sich selbst im Weg. Gruß G
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige