Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle aus geschlossener Datei per VBA verwenden

Zelle aus geschlossener Datei per VBA verwenden
04.05.2007 17:12:00
Chris
Hallo,
ich bin mal wieder auf der suche nach einem Spezialisten.
Mein Problem:
Ich würde gerne per VBA auf eine andere Exceldatei (z.B. Grunddaten) im Tabellenblatt 1 (z.B. Schrauben) auf die Zelle A1 zugreifen und diese nur auslesen. Dabei sollte die Datei, die sich auf einer anderen Festplatte befindet, jedoch nicht geöffnet werden.
ist dies möglich?
vielen Dank für eure Hilfe.
Gruß Chris

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle aus geschlossener Datei per VBA verwende
04.05.2007 17:21:53
Ramses
Hallo
probiers mal
'******************************************
'Daten aus geschlossener Datei lesen
'Gehört zusammen
'Start Sequenz
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim R As String
p = "C:\temp\"
f = "test.xls"
s = "Tabelle3"
R = "A1"
MsgBox GetValue(p, f, s, R)
End Sub



Private Function GetValue_from_Closed_File(path, File, sheet, ref)
'   Retrieves a value from a closed workbook
Dim arg As String
'   Make sure the file exists
If Right(path, 1)  "\" Then path = path & "\"
If Dir(path & File) = "" Then
GetValue = "File Not Found"
Exit Function
End If
'   Create the argument
arg = "'" & path & "[" & File & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
'   Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function


'Ende Sequenz
'***********************************************
Gruss Rainer

Anzeige
AW: Zelle aus geschlossener Datei per VBA verwende
04.05.2007 17:47:00
Chris
Hallo Reiner,
erstmal Danke, aber leider tut das noch nicht.
Er schreibt mir bei MsgBox GetValue(p, f, s, R)
Sub oder Function nicht definiert.
Hast Du ne Ahnung, warum?
Ich habe das gesamte Macro in meinen Code eingefügt. von *** bis ***.
Aber trotzdem, warum?
Gruß Christian.
PS. fahre gleich noch kurz fort, daher kann ein feedback etwas länger dauen.

Anzeige
vielen Dank für Eure Hilfe, Funktioniert.
04.05.2007 21:52:40
Chris

AW: Zelle aus geschlossener Datei per VBA verwende
04.05.2007 21:47:39
Ramses
Hallo
Kopierfehler :-)
Das kommt davon wenn man mehre Dinge schnell zusammenkopiert
Es muss heissen
MsgBox GetValue_from_Closed_File(p, f, s, R)
Gruss Rainer

Anzeige
Danke, das funktioniert jetzt auch.
05.05.2007 13:52:56
Chris

oT. Dank dir, Gruss Mehmet
05.05.2007 13:59:00
mehmet
.

AW: oT. Dank dir, Gruss Mehmet
05.05.2007 14:01:00
mehmet
sorry 8-)
habe mich in Link geirrt
trotzdem
schoenes weekend 8-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelle aus geschlossener Datei per VBA verwenden


Schritt-für-Schritt-Anleitung

Um Daten aus einer geschlossenen Excel-Datei mit VBA auszulesen, kannst Du folgenden VBA-Code verwenden. Dieser Code ermöglicht es, eine Zelle aus einer geschlossenen Arbeitsmappe auszulesen, ohne dass die Datei geöffnet werden muss.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub TestGetValue()
    Dim p As String
    Dim f As String
    Dim s As String
    Dim R As String

    p = "C:\temp\"  ' Pfad zur Datei
    f = "test.xls"  ' Name der Datei
    s = "Tabelle3"  ' Name des Arbeitsblatts
    R = "A1"        ' Zellreferenz

    MsgBox GetValue_from_Closed_File(p, f, s, R)
End Sub

Private Function GetValue_from_Closed_File(path, File, sheet, ref)
    Dim arg As String
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & File) = "" Then
        GetValue_from_Closed_File = "File Not Found"
        Exit Function
    End If
    arg = "'" & path & "[" & File & "]" & sheet & "'!" & _
    Range(ref).Range("A1").Address(, , xlR1C1)
    GetValue_from_Closed_File = ExecuteExcel4Macro(arg)
End Function
  1. Stelle sicher, dass Du den Pfad, den Dateinamen, das Arbeitsblatt und die Zellreferenz anpasst.

Häufige Fehler und Lösungen

1. Fehler: "Sub oder Function nicht definiert"
Dieser Fehler tritt auf, wenn der Name der Funktion nicht korrekt geschrieben ist. Stelle sicher, dass Du GetValue_from_Closed_File im MsgBox-Befehl verwendest.

2. Fehler: "File Not Found"
Dieser Fehler zeigt an, dass der angegebene Pfad oder Dateiname nicht korrekt ist. Überprüfe den Pfad und stelle sicher, dass die Datei existiert.


Alternative Methoden

Falls Du Excel-Daten aus geschlossener Datei auslesen möchtest, ohne VBA zu verwenden, kannst Du auch den Power Query-Editor verwenden. Hier ist eine kurze Anleitung:

  1. Gehe zu Daten > Abfragen und Verbindungen.
  2. Klicke auf Daten abrufen > Aus Datei > Aus Arbeitsmappe.
  3. Wähle die geschlossene Datei aus und lade die benötigten Daten in dein aktuelles Arbeitsblatt.

Praktische Beispiele

Angenommen, Du hast eine Excel-Datei namens Grunddaten.xlsx auf deiner Festplatte, und Du möchtest den Wert aus Zelle A1 im Arbeitsblatt Schrauben auslesen. Setze den folgenden Code an die Stelle der Parameter im obigen VBA-Skript:

p = "C:\dein\pfad\"  ' Hier den Pfad zur Datei anpassen
f = "Grunddaten.xlsx"  ' Name der Datei
s = "Schrauben"  ' Name des Arbeitsblatts
R = "A1"  ' Die Zelle, die Du auslesen möchtest

Tipps für Profis

  • Achte darauf, dass Makros in Deiner Excel-Anwendung aktiviert sind, damit VBA-Code ordnungsgemäß ausgeführt werden kann.
  • Du kannst die Funktion GetValue_from_Closed_File in anderen Projekten wiederverwenden, indem Du das Modul kopierst.
  • Teste den Code mit verschiedenen Zellreferenzen und Arbeitsblättern, um seine Flexibilität zu prüfen.

FAQ: Häufige Fragen

1. Kann ich auch Daten aus einer geschlossenen Arbeitsmappe auslesen, ohne VBA zu verwenden?
Ja, Du kannst den Power Query-Editor in Excel verwenden, um Daten aus einer geschlossenen Arbeitsmappe zu importieren.

2. Welche Excel-Version benötige ich für diesen VBA-Code?
Der Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und neuer) funktionieren, vorausgesetzt, die Makrofunktionalität ist aktiviert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige