3.8k Aufrufe
Gefragt in Windows NT von
Hallo Excel bzw. VBA Profis!!!!

Also ich hab folgendes Problem:

- Ich habe mehrere Excel-Dateien im Monat, diese enthalten mehrere Tabellenblätter
die unterschiedliche nach Namen benannt sind z.b. Müller, Weber usw.

- Diese Dateien haben unterschiedliche Informationsstruktur d.h. Mal sind die Stunden
verteilt im Bereich A12:F24 und mal B10:F30 mal A10:F20. Diese Bereiche hab ich
einfach mal als Hausnummer genannt.

- Die Dateien sind nicht systematisch benannt sondern haben je nach Bearbeiter
unterschiedliche Dateinamen. Diese Dateien sind alle in einem Ordner.

- Ich muss jeden Monat jede Datei einzeln öffnen und die dann in einer Datei
zusammenfassen.

- Ich möchte gerne das die Informationen der Dateien in einer einzelnen Datei
zusammengefasst werden bzw. erscheinen.

Falls es möglich ist mit VBA es zu programmieren dann wäre ich sehr DANKBAR
WENN mir einer hilft. Das ich ein Anfänger bzw. keine Ahnung vom VBA habe will ich
euch schon mal vorher Bescheid sagen.


VG

BEG

1 Antwort

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
was hat dies mit dem Betriebssystem zu tun.
Aus Excel aus geschlossenen Dateien auslesen entweder Verknüpfung oder

Option Explicit

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 = "L:\Eigene Dateien\Hajo\Internet\Test\2009\"
Dateiname = "Beispiel Forum 30.xlsm" ' aus welcher Datei soll er holen?
Blatt = "Tabelle1" ' von welcher Tabelle soll er holen?
Bereich = "A1:B9" ' aus welchem Bereich soll er holen?
Set Ziel = ActiveSheet.Range("A1") ' 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


Gruß Hajo
...