Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
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 geschlossener Arbeitsmappe auslesen

Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 09:11:59
Kenny
Hallo zusammen,
ich habe ein Makro geschrieben / zusammenkopiert was bis auf eine Kleinigkeit super funktioniert. Hoffe ihr könnt mir helfen.
Das Makro liest Daten aus geschlossenen Arbeitsmappen aus und bezieht die Arbeitsmappen-Bezeichnung aus verschiedenen Zellen.
Jetzt sollen die ausgelesenen Werte um 3 Spalten nach rechts eingelesen werden.
Dies funktioniert aber es werden in die erste Spalte die Adresszellen angegeben.
In Spalte A darf aber nichts passieren.
Wie kann ich dies vermeiden?
Am Beispiel wird es deutlicher:
https://www.herber.de/bbs/user/98918.zip
Spalte A: Spalte D:
A1 1 (Wert aus auszulesender Tabelle)
A2 2 (Wert aus auszulesender Tabelle)
A3 3 (Wert aus auszulesender Tabelle)
A4 4 (Wert aus auszulesender Tabelle)
Folgender Code hierzu:
_______________________________________________________
Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String
Dim datei As String
Dim blatt As String
Dim bereich As Range
Dim zelle As Object
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Activate
If Range("B4") > 0 Then
'** Angaben zur auszulesenden Zelle
pfad = ActiveWorkbook.Sheets("01_Annahmen").Range("A2").Value
datei = ActiveWorkbook.Sheets("01_Annahmen").Range("A3").Value & ".xlsx"
blatt = ActiveSheet.Range("B4").Value
Set bereich = Range("A7:A12")
'** Bereich auslesen
For Each zelle In bereich
'** Zellen umwandeln
zelle = zelle.Address(False, False)
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column + 3).Value = GetValue(pfad, datei, blatt, zelle)
Next zelle
End If
Next
End Sub

Private Function GetValue(pfad, datei, blatt, zelle)
'** Daten aus geschlossener Arbeitsmappe auslesen
'*** Dimensionierung der Variablen
Dim arg As String
'Sicherstellen, dass das datei vorhanden ist
If Right(pfad, 1) "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = ""
Exit Function
End If
'** Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , _
xlR1C1)
'** Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)
End Function

________________________________
Vielen Dank im voraus.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 09:16:04
Sepp
Hallo Kenny,
mit
zelle = zelle.Address(False, False)
schreibst du ja selbst die Adressen in die Zellen.
Gruß Sepp

AW: Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 12:20:11
Herbert
Hallo Kenny,
probiers mal damit:
Sub Bereich_auslesen()
Dim pfad$, datei$, blatt$, sh As Worksheet, iRow%, bezug$
For Each sh In ActiveWorkbook.Worksheets
sh.Activate
If Range("B4") > 0 Then
'* Angaben zur auszulesenden Zelle
pfad = Sheets("01_Annahmen").Range("A2").Value
datei = Sheets("01_Annahmen").Range("A3").Value & ".xlsx"
blatt = ActiveSheet.Range("B4").Value
'* Bereich auslesen und schreiben
For iRow = 7 To 12
'* Eintragen in Zelle
bezug = "A" & iRow
Range("D" & iRow).Value = GetValue(pfad, datei, blatt, bezug)
Next iRow
End If
Next
End Sub
Private Function GetValue(pfad, datei, blatt, zelle)
'** Daten aus geschlossener Arbeitsmappe auslesen
'* Dimensionierung der Variablen
Dim arg As String
'* Sicherstellen, dass das datei vorhanden ist
If Right(pfad, 1)  "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "datei Not Found"
Exit Function
End If
'* Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , _
xlR1C1)
'* Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)
End Function

Servus

Anzeige
AW: Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 14:24:09
Kenny
Danke für die schnelle Antwort.
Funktioniert super. Wie würde das ganze für Bereiche ausschauen.
Ich muss für die Ergebnisdatei einen Bereich von A7:C12 und A14:C18 auslesen.
Gruß Kenny

AW: Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 14:57:20
Herbert
Hallo Kenny,
hättest Du das mal nur gleich gesagt, dass Du mehrere Bereiche bearbeiten möchtest. Ich mache Dir das gerne, doch bekomme ich jetzt gleich Besuch und komme erst wieder morgen früh dazu, Dir das zu ändern. Wenn Dir das noch reicht, gib mir bitte kurz Bescheid. Andernfalls aktiviere das entsprechende Kontrollkästchen, damit Dir ein Anderer evtl. helfen kann.
Servus

Anzeige
AW: Daten aus geschlossener Arbeitsmappe auslesen
19.07.2015 18:47:25
Kenny
Klar das reicht.
Vielen Dank für die Mühe.

AW: Daten aus geschlossener Arbeitsmappe auslesen
20.07.2015 08:43:11
Herbert
Hallo Kenny,
Ich muss für die Ergebnisdatei einen Bereich von A7:C12 und A14:C18 auslesen.

Und wohin (Arbeitsmappe/Tabelle/Zellbereich) sollen die ausgelesenen Daten dann geschrieben werden?
Servus

AW: Daten aus geschlossener Arbeitsmappe auslesen
20.07.2015 09:10:43
Kenny
Morgen Herbert,
die Daten sollen dann in der Ergebnisdatei in Spalte J7:L12 und J14:L18 geschrieben werden. Also um 10 Spalten nach rechts verschobene werden.
Gruß Kenny

AW: Daten aus geschlossener Arbeitsmappe auslesen
20.07.2015 11:56:02
Herbert
Hi Kenny,
so, nun ist es so weit, die Testdatei ist fertig (s. Link). Probier's mal, ob es bei Dir so funzt. Evtl. überprüfe mal die Variablen.
Servus
https://www.herber.de/bbs/user/98943.xlsm

Anzeige
AW: Daten aus geschlossener Arbeitsmappe auslesen
20.07.2015 13:26:30
Kenny
Funktioniert! Wahnsinn. Danke dir!
Wo soll ich die Kiste Bier hinschicken?
Gruß Kenny

AW: Daten aus geschlossener Arbeitsmappe auslesen
20.07.2015 13:51:41
Herbert
Hallo Kenny,
prima, dass es klappt. Mit der Kiste Bier hast Du allerdings meinen wunden Punkt getroffen. Denn ich bin zwar ein waschechter Münchner, aber ich trinke so gut wie kein Bier. Ich weiß, dass das eine Schande für einen echten Münchner ist, aber ich kann es nicht ändern. ;o)=)
Außerdem ist das ja nicht im Sinne des Erfinders der Hilfeforen. Es ist mir Geschenk genug, dass ich Dir helfen konnte. Und gelernt habe ich obendrein auch noch etwas.
Servus

336 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige