Aus geschlossener externer Exceldatei lesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Aus geschlossener externer Exceldatei lesen
von: bastian
Geschrieben am: 22.03.2005 22:05:17
Guten Abend lieber Experten,
ich suche mal wieder nach einer Lösung für ein Problem - die Recherche in der Recherche hat mir die Problematik etwas klarer gemacht, aber mein Problem nicht gelöst.
Ich möchte aus einer geschlossenen Exceldatei aus verschiedenen Tabellenblättern Daten auslesen. Nach den Threads die ich finden konnte geht es nur bei geöffneten Arbeitsmappen. Ist das korrekt oder gibt es noch eine Lösung welche ich nicht gefunden habe ?
Hat jemand einen Tipp ?
Vielen Dank & Gruss,
Bastian

Bild

Betrifft: AW: Aus geschlossener externer Exceldatei lesen
von: K.Rola
Geschrieben am: 22.03.2005 22:29:06
Hallo,
Werte aus geschlossenen Mappen kannst ganz einfach mit einem Formelbezug erhalten.
Diese kannst du in Werte umwandeln und fertig.
Es geht auch anders, setzt aber Programmierung voraus.
Gruß K.Rola
Bild

Betrifft: AW: Aus geschlossener externer Exceldatei lesen
von: Ramses
Geschrieben am: 22.03.2005 22:43:50
Hallo
https://www.herber.de/index.html?https://www.herber.de/forum/archiv/560to564/t562343.htm
Schau dir mal den ersten Beitrag an
Gruss Rainer
Bild

Betrifft: AW: Aus geschlossener externer Exceldatei lesen
von: bastian
Geschrieben am: 23.03.2005 10:36:33
Hi,
vielen Dank erstmal für die Tipps, das hat mir schon sehr geholfen. Folgendes Script habe ich gefunden und eingebunden:

Private Function GetValue(path, file, sheet, ref)
    '   Retrieves a value from a closed workbook
        Dim arg As String
    '   Make sure the file exists
        If Right(path, 1) <> "\" Then path = path & "\"
        If Dir(path & file) = "" Then
            GetValue = "File Not Found"
            Exit Function
        End If
    '   Create the argument
    Rem g = arg
    Rem ActiveCell.Value = g
        arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
         Range(ref).Range(ref).Address(, , xlR1C1)
         MsgBox arg
    '   Execute an XLM macro
        GetValue = ExecuteExcel4Macro(arg)
    End Function

Das klappt auch super, jedoch scheitere ich an der Umwandlung von relativen Zellbezügen in absolute. Ich möchte die Auswahl in der Art range(Cells(row,col), cells(row,col)) and den Aufruf übergeben, nicht im Format "A1". Gibt es eine Funktion die aus "a1" direkt die Info row = 1 und col = 1 zieht bzw umgekehrt ? Ich stecke (1,1) rein und bekomme "A1" ?
gruss & vielen Dank,
Bastian
Bild

Betrifft: AW: Aus geschlossener externer Exceldatei lesen
von: WernerB.
Geschrieben am: 23.03.2005 13:42:00
Hallo Bastian,
die von Dir genutzte Funktion (Excel4-Makro) kann die Quell-Zelladresse grundsätzlich nur im "R1C1"-Format verarbeiten.
Durch die Zeile:
arg = "'" & path & "[" & file & "]" & sheet & "'!" & Range(ref).Range(ref).Address(, , xlR1C1)
wird eine vorgegebene "A1"-Adresse (ref = "B3") in eine "R1C1"-Adresse gewandelt.
Wenn Du Die Zeile so änderst:
arg = "'" & path & "[" & file & "]" & sheet & "'!" & ref
dann kannst Du die Adresse bereits direkt im eigentlich verlangten "R1C1"-Format (ref = "R3C2") vorgeben.
Vielleicht kannst Du auch damit etwas anfangen:
MsgBox Range("B3").Address(, , xlR1C1)
MsgBox Range("B3").Address(0, 0, xlA1)
MsgBox Cells(3, 2).Address(, , xlR1C1)
MsgBox Cells(3, 2).Address(0, 0, xlA1)

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Bild

Betrifft: AW: Aus geschlossener externer Exceldatei lesen
von: bastian
Geschrieben am: 23.03.2005 21:24:38
HI an alle und VIELEN DANK für die Hilfe, ich habe es hinbekommen !
Gruss Bastian
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Aus geschlossener externer Exceldatei lesen"