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

Forumthread: VBA: Formel mit Zellbezug auf anderes Tabellenblat

VBA: Formel mit Zellbezug auf anderes Tabellenblat
27.09.2005 15:00:56
stefanholter
Hallo alle,
ich habe folgendes Problem:
ich mochte in VBA eine Formel (Summe) in eine Zelle schreiben, welche sich auf ein anderes Tabellenblatt bezieht:
Worksheets("Ausgabe").Cells(1, 1) = "=SUMME(Eingabe!C14:C20)"
d.h. ich möchte im Tabellenblatt "Ausgabe" in Zelle A1 die sich auf das Tabellenblatt "Eingabe" beziehende Formel "=SUMME(Eingabe!C14:C20)" schreiben.
Problem hierbei: es steht zwar die Formel in der Zelle A1, aber die Ausgabe dieser Zelle lautet "#NAME". Erst wenn ich aquf die entsprechende Zelle gehe und Enter drücke, steht das gewünschte Ergebnis in Form einer Zahl dort.
Was mach ich falsch?
Danke und viele Grüsse
Stefan Holter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Formel mit Zellbezug auf anderes Tabellenblat
27.09.2005 15:05:31
u_
Hallo,
du schreibst als Text, nicht als Formel.
Worksheets("Ausgabe").Cells(1, 1).FormulaLocal = "=SUMME(Eingabe!C14:C20)"
Gruß
Geist ist geil!
AW: VBA: Formel mit Zellbezug auf anderes Tabellenblat
27.09.2005 15:23:25
stefanholter
Danke geistreicher u
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellbezüge auf andere Tabellenblätter in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Formel in Excel VBA zu erstellen, die sich auf ein anderes Tabellenblatt bezieht, kannst du die folgende Schritt-für-Schritt-Anleitung verwenden:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".

  3. Schreibe den VBA-Code: Du kannst den folgenden Code verwenden, um eine Formel in eine Zelle zu schreiben:

    Sub FormelInZelle()
       Worksheets("Ausgabe").Cells(1, 1).FormulaLocal = "=SUMME(Eingabe!C14:C20)"
    End Sub
  4. Führe das Makro aus: Klicke auf F5, um das Makro auszuführen. Die Formel wird in Zelle A1 des Tabellenblatts "Ausgabe" eingefügt.


Häufige Fehler und Lösungen

  • Fehler: #NAME?
    Wenn du die Formel in der Zelle hast, aber der Wert als #NAME? angezeigt wird, könnte es daran liegen, dass die Formel als Text und nicht als Formel gespeichert wurde. Stelle sicher, dass du .FormulaLocal verwendest, wie im vorherigen Schritt beschrieben.

  • Fehler beim Zugriff auf das Tabellenblatt:
    Wenn du einen Fehler erhältst, dass das Tabellenblatt nicht gefunden wurde, überprüfe den Namen des Tabellenblattes auf Rechtschreibfehler.


Alternative Methoden

Es gibt verschiedene Methoden, um auf ein anderes Tabellenblatt zuzugreifen und einen Zellbezug herzustellen:

  • Direktes Einfügen von Zellbezügen: Du kannst auch Zellbezüge direkt in eine Zelle einfügen, indem du die Zelle zuerst auswählst und dann die Formel eingibst.

  • Verwendung von Variablen: Du könntest auch eine Variable verwenden, um den Bezug zu speichern:

    Sub BeispielMitVariable()
       Dim ws As Worksheet
       Set ws = Worksheets("Eingabe")
       Worksheets("Ausgabe").Cells(1, 1).FormulaLocal = "=SUMME(" & ws.Name & "!C14:C20)"
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Zellbezüge aus einem anderen Tabellenblatt auslesen kannst:

  1. Wert aus einem anderen Tabellenblatt auslesen:

    Sub WertAuslesen()
       Dim wert As Variant
       wert = Worksheets("Eingabe").Cells(14, 3).Value
       MsgBox "Der Wert ist: " & wert
    End Sub
  2. Mehrere Zellbezüge aus einem anderen Tabellenblatt:

    Sub MehrereZellbezüge()
       Dim i As Integer
       For i = 1 To 10
           Worksheets("Ausgabe").Cells(i, 1).FormulaLocal = "=Eingabe!C" & (13 + i)
       Next i
    End Sub

Tipps für Profis

  • Verwende .Formula statt .FormulaLocal, wenn du sicher bist, dass die Spracheinstellungen in Excel übereinstimmen. .Formula ist universeller, während .FormulaLocal von der Sprache der Excel-Version abhängt.

  • Nutze Namensbereiche: Wenn du oft auf die gleichen Zellbezüge zugreifen musst, erstelle Namensbereiche für eine einfachere Handhabung.


FAQ: Häufige Fragen

1. Wie kann ich auf ein anderes Tabellenblatt zugreifen?
Du kannst auf ein anderes Tabellenblatt zugreifen, indem du den Namen des Tabellenblattes in der Worksheets-Objektreferenz verwendest, z.B. Worksheets("Tabellenblattname").

2. Warum funktioniert meine Formel nicht?
Stelle sicher, dass du die korrekte Syntax verwendest und die Formel als .FormulaLocal gespeichert wird, um sicherzustellen, dass Excel sie als Formel erkennt.

3. Wie kann ich Zellbezüge dynamisch anpassen?
Du kannst Variablen und Schleifen verwenden, um Zellbezüge dynamisch zu erstellen und anzupassen, wie im Abschnitt "Praktische Beispiele" gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige