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

Forumthread: vba variablen Formel-Zellbezug zuweisen?

vba variablen Formel-Zellbezug zuweisen?
14.05.2020 18:53:42
Bernd
Hallo Forum,
ich möchte per vba folgende Formel (nicht den Wert) eintragen, dabei ist k ein Laufparamter
Sheets("Tabelle1".Cells(34, 3) = Sheets("Realtime").Cells(k, 7)
Der Recorder wirft mir für die Zelle D34 aus:
Range("D34").Select
ActiveCell.FormulaR1C1 = "=Realtime!R[-24]C[4]"
Aber ich weiß nicht, wie ich nun per vba anweise, dass im aktuellen Tabellenblatt "Tabelle1"
in der Zelle D34 stehen soll "= Sheets("Realtime").Cells(k, 7)"
Im Internet bin ich auch nicht fündig geworden - ich vermute ich suche nach falschen Schlagworten...
Vielen Dank für die Lösung dieses hoffentlich kleinen Problems
Bernd
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 18:55:41
Hajo_Zi
Hallo Bernd,
ActiveCell.FormulaR1C1 = "=Realtime!" & Sheets("Realtime").Cells(k, 7).address
GrußformelHomepage
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:12:06
Bernd
Hallo Hajo,
deine Formel liefert bei mir leider die Fehlermeldung Laufzeitfehler 1004
BG
Bernd
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:23:21
Hajo_Zi
Halo Bernd,
übersehen
ActiveCell.Formula= "=Realtime!" & Sheets("Realtime").Cells(k, 7).address
Gruß Hajo
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:32:09
Bernd
Hallo Hajo,
ja, das funktioniert auch - danke für die Alternative
BG
Bernd
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:33:18
Hajo_Zi
Hallo Bernd,
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Du willst doch was machen. Soll jemand vorbei kommen?
Das ist nur meine Meinung zu dem Thema.
GrußformelHomepage
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
15.05.2020 15:22:39
Bernd
sorry, hatte noch eine Frage an Daniel - mein Fehler
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:02:36
Daniel
Hi
Sheets("Tabelle1").Range("D34").FormulaR1C1 = "=Realtime!R" & k & "C7"
oder
Sheets("Tabelle1").Range("D34").Formula = "=Realtime!G" & k
Gruß Daniel
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:10:57
Bernd
Hallo Daniel,
deine Formel funktioniert sogar mit einem Variablen-Namen für die Tabelle - vielen Dank dafür!
Sheets(Tabellenname).Range("D34").FormulaR1C1 = "=Realtime!R" & k & "C7"
funktioniert - vielen Dank. Kannst du mir bitte noch erklären warum du für k = 10 dann der richtige Bezug =Realtime!$G$10 rauskommt - oder wo kann ich mich das einlesen im Internet?
Vielen Dank
Bernd
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
14.05.2020 19:35:17
Daniel
HI
naja du hast in Excel zwei Möglichkeiten Zellbezüge anzugeben:
entweder über Spaltenbuchstabe + Zeilennummer (A1-Bezugsart)
oder über Zeilennummer und Spaltennummer (Z1S1-Bezugsart, englisch R1C1)
hierbei folgt nach dem Z bzw R die Zeilennummer und nach dem S bzw C die Spaltennummer
kannst du selber mit spielen, du kannst die Bezugsarten in den Optionen - Formeln umschalten.
in VBA kann man beides verwenden, eben über .Formula oder .FormulaR1C1
die übliche A1-Bezugsart hat den Nachteil, dass sie relative Zellbezüge nicht relativ beschreiben kann, sondern auch mit absoluten Werten beschreiben muss.
dh wenn man eine Formel mit relativen Bezügen von eine Zelle in eine andere kopiert müssen die Zellbezüge in A1-Schreibweise angepasst werden.
In Z1S1/R1C1-Schreibeweise bleiben die Formeltexte dann gleich.
Gruß Daniel
Anzeige
AW: vba variablen Formel-Zellbezug zuweisen?
15.05.2020 16:15:33
Bernd
Hallo Daniel,
vielen Dank für die Ausführungen. Das hat mir sehr weitergeholfen!
BG und ein schönes Wochenende
Bernd
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellbezüge in Excel VBA dynamisch gestalten


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine Formel mit einem variablen Zellbezug zu erstellen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor mit ALT + F11.
  2. Wähle das entsprechende Arbeitsblatt, in dem du die Formel einfügen möchtest.
  3. Verwende den folgenden Code, um die Formel mit einem variablen Zellbezug zuzuweisen:

    Dim k As Integer
    k = 10 ' Beispielwert für k
    Sheets("Tabelle1").Range("D34").FormulaR1C1 = "=Realtime!R" & k & "C7"

    Hierbei wird der Zellbezug dynamisch erstellt, abhängig von dem Wert von k.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Bezug auf eine nicht existierende Zelle oder ein nicht korrekt benanntes Tabellenblatt verweist. Stelle sicher, dass der Tabellennamen korrekt geschrieben ist und die Zelle existiert.

  • Falsche Formelresultate: Wenn die Formel nicht das erwartete Ergebnis anzeigt, überprüfe die Schreibweise der Formel und die verwendete Bezugsart (R1C1 vs. A1).


Alternative Methoden

Eine Alternative zur Verwendung von FormulaR1C1 ist die Verwendung von Formula. Hier ist ein Beispiel:

Sheets("Tabelle1").Range("D34").Formula = "=Realtime!G" & k

Diese Methode ist besonders nützlich, wenn du einfachere Formeln mit einem festen Zellbezug verwenden möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele für verschiedene Szenarien:

  1. Zellbezug mit Variable:

    Dim Tabellenname As String
    Tabellenname = "Realtime"
    Sheets("Tabelle1").Range("D34").FormulaR1C1 = "=" & Tabellenname & "!R" & k & "C7"
  2. Verwendung von relativen Zellbezügen:

    Sheets("Tabelle1").Range("D34").FormulaR1C1 = "=Realtime!R[-1]C[-1]" ' Bezug auf die Zelle direkt über und links

Diese Beispiele zeigen, wie du in Excel VBA einen variablen Zellbezug effektiv nutzen kannst.


Tipps für Profis

  • Verwende benannte Bereiche: Das Erstellen von benannten Bereichen kann die Handhabung von Zellbezügen erheblich vereinfachen.
  • Fehlerbehandlung einbauen: Implementiere Fehlerbehandlungsroutinen, um Laufzeitfehler abzufangen und benutzerfreundliche Meldungen anzuzeigen.
  • Dokumentation nutzen: Halte dich an die Excel-Dokumentation, um die verschiedenen Möglichkeiten von Formula und FormulaR1C1 zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich einen variablen Tabellenbezug in meiner Formel verwenden?
Du kannst einen variablen Tabellenbezug in deiner Formel verwenden, indem du den Tabellennamen in einer Variablen speicherst und diesen in der Formel einfügst, wie im Beispiel oben gezeigt.

2. Was ist der Unterschied zwischen Formula und FormulaR1C1?
Formula verwendet die A1-Notation (z. B. A1, B2), während FormulaR1C1 die R1C1-Notation verwendet, die relativere Bezüge besser handhaben kann, insbesondere beim Kopieren von Formeln.

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