Daten aus geschlossener Arbeitsmappe auslesen

Bild

Betrifft: Daten aus geschlossener Arbeitsmappe auslesen
von: Kenny
Geschrieben am: 19.07.2015 09:11:59

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.

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Sepp
Geschrieben am: 19.07.2015 09:16:04
Hallo Kenny,
mit

zelle = zelle.Address(False, False)
schreibst du ja selbst die Adressen in die Zellen.
Gruß Sepp


Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Herbert Grom
Geschrieben am: 19.07.2015 12:20:11
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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Kenny
Geschrieben am: 19.07.2015 14:24:09
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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Herbert Grom
Geschrieben am: 19.07.2015 14:57:20
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

Bild

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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Herbert Grom
Geschrieben am: 20.07.2015 08:43:11
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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Kenny
Geschrieben am: 20.07.2015 09:10:43
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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Herbert Grom
Geschrieben am: 20.07.2015 11:56:02
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

Bild

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

Bild

Betrifft: AW: Daten aus geschlossener Arbeitsmappe auslesen
von: Herbert Grom
Geschrieben am: 20.07.2015 13:51:41
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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Daten aus geschlossener Arbeitsmappe auslesen"