Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - MiSpi

Seiten: [1]
1
Excel / Antw:Office 2016 Mehrere Bereiche aus geschlossener Datei importieren
« am: Juli 23, 2018, 18:05:50 Nachmittag »
Lieber Günther,
vielen Dank für den wertvollen Hinweis!

Daten Abrufen ist wirklich ein großartiges Tool, das alles viel leichter macht  :D
Nur zu empfehlen an alle, die ähnliche Probleme haben!

Zwei Fragen hätte ich noch:
1. Funktioniert das Auslesen mehrer Dateien mit einem Klick, indem man bei "Neue Quellen" - "Datei" - "Ordner" den entsprechenden Ordner auswählt (in dem nur die auszulesenden Dateien zu finden sind)? Oder gibt es auch andere Wege?

2. Kann man einstellen, dass jeder weitere importierte Bereich (aus jeder weiteren Datei) je bei einer bestimmten Zelle anfängt? Also dass man zum Beispiel in Spalte A in die Zellen A2, A202, A402,... den Namen der auszulesenden Datei schon vorher reinschreibt und Excel dann die importierten Bereiche daneben in den Zellen B2, B202, B402,... starten lässt?

Das wäre noch klasse!
Danke, wenn sich noch wer der Fragen annimmt  ;D
Liebe Grüße

2
Excel / Office 2016 Mehrere Bereiche aus geschlossener Datei importieren
« am: Juli 23, 2018, 13:17:39 Nachmittag »
Guten Tag, liebe Excel-Freunde,

ich scheitere an einem Makro, mithilfe dessen ich aus einer* geschlossenen Datei mehrere Bereiche auslesen und in die aktuelle Arbeitsmappe einfügen kann.
(*vorerst eine Datei - später sollen es einige hundert Dateien in einem vorgegebenen Ordner sein...)

Die Auszulesenden Bereiche in der Datei  "Auszulesende_Datei.xlsx" befinden sich in:
C50:H58, C100:H108, C150:H158 - also mit vielen Leerzeilen dazwischen, die ich nicht mit übernehmen will.

Einfügen mag ich sie gerne in die Bereiche (jeweils nur 10 Zeilen):
C1:H9, C11:H19, C21:H29 usw.

Was ich mir bis jetzt zusammengesucht und geschrieben habe, ist das Untenstehende:
Da fehlt, wie ihr seht, jedoch noch das Wichtigste, nämlich dass mithilfe mehrerer Loops die verschiedenen Bereiche (insg. 15 Bereiche pro Datei) ausgewählt und importiert werden.

Hat jemand eine Idee, wie man das am besten in VBA umsetzten kann?
Vielen Dank für eure Vorschläge!
Michael


Private Function GetValue(pfad, datei, blatt, zelle)
'** Daten aus geschlossener Arbeitsmappe auslesen

'*** Dimensionierung der Variablen
Dim arg As String

'** Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , xlR1C1)

'** Auslesen ?ber Excel4Macro
GetValue = ExecuteExcel4Macro(arg)

End Function
'----------------------------------------

Sub Mehrere_Bereiche_aus_geschlossener_Datei_importieren()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object

'** Angaben zum auszulesenden Bereich
pfad = "D:\Test_Daten\"
datei = "Auszulesende_Datei.xlsx"
blatt = "Eingabe Heizung und Strom"
Set bereich = Range("C50:H58")


'** Bereich auslesen
For Each zelle In bereich

    '** Zellen umwandeln
   zelle = zelle.Address(False, False)
 
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column).Value = GetValue(pfad, datei, blatt, zelle)

Next zelle

End Sub

Seiten: [1]