Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Daten aus geschlossener externer Excel-Datei einlesen

Forumthread: Daten aus geschlossener externer Excel-Datei einlesen

Daten aus geschlossener externer Excel-Datei einlesen
08.03.2025 10:17:15
Joachim Baum
Als VBA Anfänger habe ich, um Daten aus einer anderen geschlossenen Excel-Datei ein zu lesen habe ich folgendes Makro geschrieben:

Sub WertAuslesen()
ActiveSheet.Range("I8").Value = ExecuteExcel4Macro("'C:\Users\Admin\GSN-Cloud\Joachim Baum SHARE\Kunden\PVA Schafhof\Berechnungen\Excel\[PVA_Anlage_02.xlsm]Intern'!R36C5")
End Sub
Das hat auch sehr gut funktioniert. Intern soll den Tabellennamen bezeichnen
Nun möchte ich aber Schafhof und PVA_Anlage_02.xlsm durch Variable ersetzen, die jeweils in einer Excel Zelle als Text hinterlegt sind.
Dazu habe ich den Text geändert:
Sub WertAuslesen()
Dim Bez_01 As String
Dim Bez_02 As String
Bez_01 = Worksheets("Kosten_Soll").Range("F3").Value
Bez_02 = Worksheets("Kosten_Soll").Range("AH24").Value
ActiveSheet.Range("I8").Value = ExecuteExcel4Macro("'C:\Users\Admin\GSN-Cloud\Joachim Baum SHARE\Kunden\" & Bez_01 & "\Berechnungen\Excel\[" & Bez_02 & "]Intern'!R36C5")
End Sub
Dies funktioniert leider mit " & Bez_01 & " und " & Bez_02 & " nicht.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus geschlossener externer Excel-Datei einlesen
08.03.2025 10:25:15
Eifeljoi 5
Hallo

Warum probierst du mit VBA als Anfänger??
Dies mit Power Query zu lösen wäre für dich viel leichter.
Oder hat die Auszulesende Datei ein Passwort??
AW: Daten aus geschlossener externer Excel-Datei einlesen
08.03.2025 12:10:55
Herbert Grom
Hi,

du schreibst allen Ernstes "Warum probierst du mit VBA als Anfänger??"!!! Ja vielleicht weil er es lernen möchte, so wie wir alle es einmal gelernt haben!

Servus
Anzeige
AW: Daten aus geschlossener externer Excel-Datei einlesen
08.03.2025 12:00:40
Ulf
Hi,
bestimmt ein Tippfehler o.ä. Vorher zusammenbauen und kontrollieren (einmalig)
Bsp:
Sub WertAuslesen()

'C:\Users\xx\Documents\herber\tmp.xlsx
'R5C4
'40000
'ActiveSheet.Range("I8").Value = ExecuteExcel4Macro("'C:\Users\Admin\GSN-Cloud\Joachim Baum SHARE\Kunden\PVA Schafhof\Berechnungen\Excel\[PVA_Anlage_02.xlsm]Intern'!R36C5")
ActiveSheet.Range("A1").Value = ExecuteExcel4Macro("'C:\Users\xx\Documents\herber\[tmp.xlsx]Tabelle1'!R5C4")
End Sub

Sub Auslesen()
'Zelle B1 herber
Dim strPfad As String
'Zelle C1 tmp.xlsx
Dim strDatei As String
Dim strRef As String
strPfad = "'C:\Users\xx\Documents\" & ThisWorkbook.Worksheets(1).Range("B1").Value & "\"
strDatei = "[" & ThisWorkbook.Worksheets(1).Range("C1").Value & "]"
strRef = strPfad & strDatei & "Tabelle1'!R5C4"
MsgBox strRef
'oder Gleichheit prüfen
'MsgBox strRef="'C:\Users\xx\Documents\herber\[tmp.xlsx]Tabelle1'!R5C4"
ActiveSheet.Range("A1").Value = ExecuteExcel4Macro(strRef)
End Sub

hth
Ulf
Anzeige
Probiere es mal...
08.03.2025 12:13:10
Case
Moin, :-)

... so der Spur nach: ;-)
Option Explicit

Public Sub Main()
Dim strBez1 As String
Dim strBez2 As String
strBez1 = Worksheets("Kosten_Soll").Range("F3").Value
strBez2 = Worksheets("Kosten_Soll").Range("AH24").Value
ActiveSheet.Range("I8").Formula = "='C:\Temp\" & strBez1 & "\Berechnungen\Excel\[" & strBez2 & "]Intern'!E36"
'ActiveSheet.Range("I8").Value = Application.Evaluate("='C:\Temp\" & strBez1 & "\Berechnungen\Excel\[" & strBez2 & "]Intern'!E36")
End Sub


Achte genau auf die Schreibweise. Nicht zuviel davon \ - aber auch nicht zuwenig. ;-)
Keine überflüssigen Leerzeichen - usw..

Mit der auskommentierten Codezeile wird nicht die Formel, sondern der Wert in die Zelle geschrieben.

Servus
Case
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18