Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

SVerweis mit geschlossener Arbeitsmappe

Betrifft: SVerweis mit geschlossener Arbeitsmappe von: Uli
Geschrieben am: 16.03.2016 16:33:08

Hallo liebe Experten,

Ich hole mir aus einer geschlossenen Arbeitsmappe Werte in eine Datei, die ich gerade erstelle. Die Werte stehen in einer ganz bestimmten Zelle in der geschlossenen Datei, die ich auch definiere. Das funktioniert über eine VBA-Programmierung ganz gut.

jetzt möchte ich einen Wert ermitteln über die Sverweis-Funktion. Und das bekomme ich nicht hin.

Meine Programmierung lautet:


Public Function GetValue(pfad, datei, blatt, zelle)
'Holt einen Wert aus einer _geschlossenen_ Arbeitsmappe

'Dimensionierung der Variablen
Dim arg As String

'Sicherstellen, dass die Datei exisiert
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "Datei nicht gefunden"
Exit Function
End If
'Den Aufruf-String zusammenstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & _
Range(zelle).Range("A1").Address(, , xlR1C1)
'Ausführen des XL4-Makros
GetValue = ExecuteExcel4Macro(arg)
MsgBox arg

End Function

Public Sub HoleBetraege()
Dim pfad As String, datei As String, blatt As String, zelle As String
Set blatt1 = Worksheets(1)
Set blatt2 = Worksheets(2)
Set blatt3 = Worksheets(3)
Set blatt4 = Worksheets(4)
Set blatt5 = Worksheets(5)
Set blatt6 = Worksheets(6)

pfad = blatt5.[b2] & blatt1.[q8] & "\"
datei1 = blatt5.[b6]
datei2 = blatt5.[b5]
blatt = "Ausgaben"

If Dir(pfad & datei) = "" Then

MsgBox ("Daten für das Jahr " & blatt1.[q8] & " nicht vorhanden")
Else
With blatt6
    zelle2 = Application.WorksheetFunction.VLookup("Satzstelle", myrange, 3, False)
    .[c2] = GetValue(pfad, datei1, blatt, zelle2)
    .[d2] = GetValue(pfad, datei2, blatt, zelle3)
    .[F21] = .[q21]

End With


  

Betrifft: AW: SVerweis mit geschlossener Arbeitsmappe von: selli
Geschrieben am: 16.03.2016 16:51:07

hallo uli,

als erstes mal:
"zelle2" und "myrange" sind nicht definiert.


gruß
selli


  

Betrifft: AW: SVerweis mit geschlossener Arbeitsmappe von: Daniel
Geschrieben am: 16.03.2016 16:52:31

Hi


schreibe die SVerweisfunktion als Formel in eine Excelzelle und lese dann die Excelzelle aus.

also im Prinzip etwa so:

With Range("A1")
.FormulaLocal = "=SVerweis(""Suchbegriff"",'C:\Ordner1\..\OrdnerX\[Dateiname.xlsx]Tabelle1'!$A:$ _
B;2;0)"
DeineVariable = .Value
.ClearContents
End With
Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "SVerweis mit geschlossener Arbeitsmappe"