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

Daten aus geschlossenen Dateien holen

Daten aus geschlossenen Dateien holen
01.12.2014 12:22:58
luftgetrocknet
Hallo zusammen,
ich möchte in eine Datei einen Wert aus geschlossenen Dateien mit wechselnden Dateinamen einziehen.
Dazu hatte ich mir folgende Formel überlegt:
=INDIREKT(VERKETTEN("'Änderungsübersicht Gehälter ";Monat;"-";Jahr-2000;".xls'!Gsteuer"))
Die geschlossenen Dateien heißen z. B.:
- Änderungsübersicht Gehälter 10-14.xls
- Änderungsübersicht Gehälter 11-14.xls
usw.
Geholt werden soll der Wert aus der Zelle mit dem Namen GSteuer.
Welche der Dateien genommen werden soll, orientiert sich an Monat und Jahr der Datei, in die die GSteuer eingezogen werden soll. Dort sind die entsprechenden Zellen mit den Namen Monat und Jahr belegt.
Die o. g. Formel funktioniert auch, aber leider nur dann, wenn die jeweilige Datei geöffnet ist. Und das möchte ich gerade nicht.
Kennt ihr hier einen Trick? Vielen Dank im voraus.
Schöne Grüße
luftgetrocknet

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus geschlossenen Dateien holen
01.12.2014 12:27:20
Rudi
Hallo,
Kennt ihr hier einen Trick?
Ja. Schau ins Archiv.
Du bist nicht der erste, der das braucht.
Gruß
Rudi

AW: Daten aus geschlossenen Dateien holen
01.12.2014 14:27:52
luftgetrocknet
Hallo Rudi,
danke für den Hinweis.
Ich hatte auch vorher schon geschaut, aber nur VBA-Lösungen gesehen, die ich eigentlich nicht wollte, weil ich mich damit so gut wie gar nicht auskenne.
Nach deinem Hinweis habe ich es dann doch noch einmal probiert, komme aber leider nicht ans Ziel.
Ich habe versucht, eine Vorlage aus dem Archiv für meine Zwecke umzubauen, was aber nicht klappt:
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
'© t.ramel@mvps.org
' wird durch die HoleDaten aufgerufen
Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from  _
closed Workbook"
GetDataClosedWB = False
End Function

Public Sub HoleDaten()
' Die Funktion arbeitet mit der obrigen GetDataClosedWB zusammen
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Pfad = "P:\Personal\Gehalt\Änderungen\"
Dateiname = "Änderungen Gehälter 11-14.xls" ' aus welcher Datei soll er holen?
Blatt = "Geschenkesteuer"  ' von welcher Tabelle soll er holen?
Bereich = "H16"   ' aus welchem Bereich soll er holen?
Set Ziel = ActiveSheet.Range("Geschenkesteuer")  ' in welchen Bereich soll er kopieren?  _
Genauer gesagt: _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
End Sub

Ich möchte allerdings
1) als Bereich einen Namen eingeben (GSteuer)
Dazu habe ich Bereich schon als Range definiert und oben in der Funktion SourceRange ebenfalls.
Außerdem habe ich bei Bereich angegeben: Bereich = Range("GSteuer")
Dann läuft das Makro aber leider nicht durch!
2) Der Dateiname der Quelldatei ist variabel. Monat und Jahr wechseln. Die Werte für Monat und Jahr
sollen aus der aktiven Datei genommen werden.
Dort sind die entsprechenden Zellen mit den Namen Monat und Jahr belegt.
Die mir bekannte Excel-Funktion VERKETTEN habe ich ausprobiert, funktioniert aber nicht bzw. weiß ich nicht, wie man hier die Namen angibt.
3) Zu allem Überfluss ist die Quelldatei auch noch passwortgeschützt.
Dieses Passwort würde ich gerne direkt mitgeben, damit der Anwender es nicht eingeben muss.
Ich würde mich freuen, wenn mir jemand helfen könnte.
Danke.
Schöne Grüße
luftgetrocknet

Anzeige
luftgetrocknet-welch ein Name ;-) owT
01.12.2014 15:14:04
robert

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige