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

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

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

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige