Fernbezug bei geschlossenen Dateien; Frage an Moe

Bild

Betrifft: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Jürg
Geschrieben am: 18.11.2003 12:30:22

Hallo Moe
habe leider das VBA gelöscht! kannst du mir da nocheinmal aushelfen?
mit Gruss
Jürg
von: Jürg
Geschrieben am: 07.04.2003 - 08:53:26

Hallo Moe

Also hab mal Versucht nach deinem ersten Maildie Daten zu verknüpfen. leider muss ich jede Datei öffnen und jedes Feld anklicken.
Eine galantere Lösung wäre schon ein VBA das die entsprechenden Datenfelder direkt herausholt, da es sich um über 500 Datensätze handelt.
Also könntest Du mir ein solches schreiben??
Kannst Du mir auch noch einen Tip geben wie am besten und schnellsten VBA's selber entwerfen kann??

Mit Gruss
Jürg

Re: Fernbezug bei geschlossenen Dateien
von: moe
Geschrieben am: 04.04.2003 - 15:00:26

Hallo Jürg

so sieht die Formel
='c:\deinordner\[deinedatei.xls]sheetname'!$a$1
einfach einfügen anpassen fertig


Re: Fernbezug bei geschlossenen Dateien
von: moe
Geschrieben am: 04.04.2003 - 16:32:52

wenn du eine vba lösung brauchst sag bescheid

Gruss
moe

Bild


Betrifft: AW: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Nepumuk
Geschrieben am: 18.11.2003 20:51:07

Hallo moe,
ein ganz einfaches Beispiel:

Option Explicit
Public Sub Verzeichnis()
    Dim Pfad As String, Datei As String, Tabelle As String, Adresse As String
    Pfad = ThisWorkbook.path & "\"
    Datei = "y.xls"
    Tabelle = "Test"
    Adresse = "A5"
    Cells(1, 1) = hole_Werte(Pfad, Datei, Tabelle, Adresse)
End Sub
Private Function hole_Werte(Pfad As String, Datei As String, Tabelle As String, Adresse As String)
    Dim Argument As String
    Argument = "'" & Pfad & "[" & Datei & "]" & Tabelle & "'!" _
    & Range(Adresse).Range("A1").Address(, , xlR1C1)
    hole_Werte = ExecuteExcel4Macro(Argument)
End Function


Code eingefügt mit: Excel Code Jeanie

Wenn du schreibst, aus welcher Datei, welcher Tabelle und welcher Zelle in welche Zelle, geschrieben werden soll, dann kann ich dir sicher weiterhelfen. Aber, die Datei bleibt nicht wirklich geschlossen, sie wird nur nicht als Exceldatei geöffnet, deswegen geht das lesen verdammt schnell. Das sie doch geöffnet wird, merkst du spätestens dann, wenn die Datei mit einem Kennwort geschützt ist. Dann kommt bei jedem Lesevorgang die Kennwortabfrage.
Gruß
Nepumuk


Bild


Betrifft: AW: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Jürg
Geschrieben am: 19.11.2003 16:40:32

Hallo Nepumuk


Danke dafür !
Muss ich jetzt dies in ein Modul reinplflanzen?
und wie gets dann weiter ? kann das nicht so gut umsetzen
Gruss
Jürg


Bild


Betrifft: AW: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Nepumuk
Geschrieben am: 19.11.2003 17:00:01

Hallo Jürg,
ja, der Code muss in ein Modul. War aber nur als Beispiel gedacht. Wenn du mir beschreibst, was das Makro genau machen soll, dann kann ich es auf deine Bedürfnisse anpassen.
Gruß
Nepumuk
P.S.: Entschuldige die Namensverwechslung.


Bild


Betrifft: AW: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Jürg
Geschrieben am: 20.11.2003 09:26:38

Hallo Nepumuk

also meine beschreibung:

auf dem server liegt in einem directori 520 files ****.xls von diesen fils möchte ich in einer datei zusammengefasst folgende zellen haben. E30 und H30 und D33. die daten und der zugehörige Dateiname sollten in einer zeile und je wert in einer splate sein. Dateiname in spalte B, e30 in spalte C h30 in spalte D und d33 in splate E
siehe Datei! sollte so aussehene

Viel Dank
Mit gruss
Jürg


Bild


Betrifft: AW: Fernbezug bei geschlossenen Dateien; Frage an Moe
von: Nepumuk
Geschrieben am: 20.11.2003 17:31:51

Hallo Jürg,
so geht's:

Option Explicit
Option Base 1
Public Sub Verzeichnis()
    Dim intIndex As Integer, strTabelle As String, intSpalte As Integer
    Dim strPfad As String, strDatei As String, varAdresse As Variant
    varAdresse = Array("E30", "H30", "D33")
    strPfad = "D:\Eigene Dateien\Eigene Tabellen\"
    strTabelle = "Tabelle1"
    With Application.FileSearch
        .LookIn = strPfad
        .FileType = 4
        .Execute
        For intIndex = 1 To .FoundFiles.Count
            strDatei = Mid(.FoundFiles(intIndex), Len(.FoundFiles(intIndex)) - InStr(1, StrReverse(.FoundFiles(intIndex)), "\") + 2, InStr(1, StrReverse(.FoundFiles(intIndex)), "\") - 5)
            Cells(intIndex + 1, 2) = strDatei
            For intSpalte = 1 To 3
                Cells(intIndex + 1, intSpalte + 2) = hole_Werte(strPfad, strDatei, strTabelle, CStr(varAdresse(intSpalte)))
            Next
        Next
    End With
End Sub
Private Function hole_Werte(strPfad As String, strDatei As String, strTabelle As String, strAdresse As String) As Variant
    On Error Resume Next
    hole_Werte = ExecuteExcel4Macro("'" & strPfad & "[" & strDatei & "]" & strTabelle & "'!" & Range(strAdresse).Range("A1").Address(, , xlR1C1))
End Function


Code eingefügt mit: Excel Code Jeanie

Die Zuweisung des Pfades an strPfad und des Tabellennamens an strTabelle musst du noch auf deine Bedürfnisse anpassen.
Gruß
Nepumuk


Bild

Beiträge aus den Excel-Beispielen zum Thema " Fernbezug bei geschlossenen Dateien; Frage an Moe"