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

Wert mit VBA aus Zelle auslesen, die Formel enthäl

Forumthread: Wert mit VBA aus Zelle auslesen, die Formel enthäl

Wert mit VBA aus Zelle auslesen, die Formel enthäl
25.07.2003 15:50:16
dietrich
Hallo zusammen,

ich möchte einen Wert aus einer Zelle per VBA übernehmen, die allerdings selbst den Wert per Bezug aus einem anderen Blatt holt.

Wenn ich in VBA sage:

Wert = Workbooks("195.71.254.106.xls").Worksheets(1).Range("b2").Value

wobei die Zelle "b2" den ein Bezug wie "='Blatt'!B2" enthält, sehe ich nicht den Wert, der in der Excel-Zelle selbst steht.

Wie muss ich die Frage anpassen?

Danke ;-)
Dietrich
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert mit VBA aus Zelle auslesen, die Formel enthäl
25.07.2003 15:53:52
Hajo_Zi
Hallo Dietrich

Die Datei ist schon auf??

Die Anweisung sieht eigentlich ok aus.

Gruß Hajo

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
AW: Wert mit VBA aus Zelle auslesen, die Formel en
25.07.2003 16:00:08
dietrich
Hallo Hajo,

ich lade(?) die Datei vorher mit einem GetObject. Syntax habe ich hier gelesen ;-) Es hat funktioniert, nachdem ich bei Worksheets(1) die 1 durch den Blattnamen ersetzt habe...

BTW: andere Frage:
Ich muss die Abfrage von Werten aus vielen Tabellen vornehmen (> 150). Da wollte ich mir das öffne sparen. Mit GetObject dachte ich, hätte ich den Befehl schon gefunden. Gibt es einen Weg, wie ich Excel mitteilen kann, aus einem Verzeichnis (und dessen Unterverzeichnissen) alle ".xls"-Dateien zu suchen, um dann per getobject die Werte auszulesen?

Gruß und Dank
Dietrich


Anzeige
AW: Wert mit VBA aus Zelle auslesen, die Formel en
25.07.2003 15:54:38
dietrich
Hallo zusammen,

hat sich geklärt, schusselige Eingabe :-(

Grüße
Dietrich


Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wert mit VBA aus Zelle auslesen, die Formel enthält


Schritt-für-Schritt-Anleitung

Um einen Wert mit VBA aus einer Zelle auszulesen, die eine Formel enthält, befolge diese Schritte:

  1. Öffne Excel und lade die entsprechende Arbeitsmappe mit GetObject.

    Set wb = GetObject("C:\Pfad\zur\Datei\deineDatei.xls")
  2. Wähle das Arbeitsblatt aus, von dem Du die Daten abrufen möchtest.

    Set ws = wb.Worksheets("Blattname")
  3. Lese den Wert der Zelle aus und speichere ihn in einer Variablen.

    Dim wert As Variant
    wert = ws.Range("B2").Value
  4. Überprüfe, ob die Zelle tatsächlich einen Wert enthält. Wenn die Zelle eine Formel hat, die auf eine andere Zelle verweist, kannst Du den Wert trotzdem lesen.

  5. Verwende den Wert in Deinem VBA-Code, wie gewünscht.


Häufige Fehler und Lösungen

  • Fehler: Zelle zeigt nicht den erwarteten Wert an

    • Lösung: Stelle sicher, dass die Arbeitsmappe, auf die Du zugreifst, geöffnet ist. Wenn Du GetObject verwendest, sollte die Datei bereits geladen sein.
  • Fehler: Falscher Blattname

    • Lösung: Überprüfe den Namen des Arbeitsblatts. VBA ist case-sensitive, daher muss der Name exakt übereinstimmen.
  • Fehler: Wert wird als Fehler angezeigt

    • Lösung: Wenn die Zelle eine Formel hat, die einen Fehler zurückgibt, wird der Wert ebenfalls als Fehler angezeigt. Verwende If IsError(ws.Range("B2").Value) Then zur Überprüfung.

Alternative Methoden

Wenn Du den Inhalt einer Zelle auslesen möchtest, ohne die Excel-Anwendung zu öffnen, kannst Du auch die Workbook.Open Methode verwenden:

Dim wb As Workbook
Set wb = Workbooks.Open("C:\Pfad\zur\Datei\deineDatei.xls")

Nach dem Auslesen des Wertes kannst Du die Arbeitsmappe wieder schließen:

wb.Close SaveChanges:=False

Diese Methode ermöglicht es Dir, auch geschlossene Dateien zu lesen.


Praktische Beispiele

  1. Wert aus einer Zelle auf einem anderen Blatt auslesen:

    Dim wert As Variant
    wert = Workbooks("deineDatei.xls").Worksheets("AnderesBlatt").Range("B2").Value
  2. Wert einer Zelle mit einer Formel auslesen:

    Dim formelWert As Variant
    formelWert = ws.Range("B2").Formula
  3. Durch mehrere Dateien iterieren:

    Um Werte aus mehreren Excel-Dateien in einem Verzeichnis auszulesen, könntest Du eine Schleife verwenden, um alle .xls-Dateien zu durchlaufen.

    Dim file As String
    file = Dir("C:\Pfad\zum\Verzeichnis\*.xls")
    Do While file <> ""
       ' Öffne die Datei und lese den Wert aus
       file = Dir
    Loop

Tipps für Profis

  • Debugging: Nutze die Debug.Print-Anweisung, um den Wert der Variablen in der Direktanzeige anzuzeigen. Das hilft bei der Fehlersuche.

  • Verwendung von Option Explicit: Setze am Anfang Deines Codes Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind.

  • Fehlerbehandlung: Implementiere error handling mit On Error Resume Next und On Error GoTo für robusteren Code.


FAQ: Häufige Fragen

1. Wie kann ich den Inhalt einer Zelle auslesen, die eine Formel enthält?
Du kannst den Wert einfach mit .Value auslesen, auch wenn die Zelle eine Formel hat.

2. Was mache ich, wenn ich mehrere Dateien gleichzeitig auslesen möchte?
Verwende eine Schleife, um durch alle Dateien in einem Verzeichnis zu iterieren und den Wert auszulesen.

3. Warum bekomme ich einen Fehler, wenn ich die Zelle auslesen will?
Überprüfe zuerst, ob die Zelle tatsächlich einen Wert enthält und ob die Arbeitsmappe und das Arbeitsblatt korrekt referenziert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige