was mache ich bei diesem Code falsch?
.Range("E7").FormulaR1C1 = "=INDIRECT(CONCATENATE(A7&"!"&$T$1)"
Die Formel in Excel: =INDIREKT(VERKETTEN("'";A7;"'!";$T$1)
Danke für Eure Hilfe.
Um eine Formel in Excel mit VBA zu verketten, kannst du folgende Schritte befolgen:
Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11
in Excel.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (deineDatei.xlsx)“, wähle "Einfügen" und dann "Modul".
Schreibe den VBA-Code: Verwende den folgenden Code, um eine Verkettung mit der richtigen Syntax zu erstellen:
Sub VerketteFormel()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' Ersetze "Sheet1" durch deinen Blattnamen
ws.Range("E7").Formula = "=INDIREKT(VERKETTEN(""'"";A7;""'!"";$T$1))"
End Sub
Führe das Makro aus: Drücke F5
, um das Makro auszuführen und die Formel in die Zelle einzufügen.
Achte darauf, dass du die R1C1-Referenzierung korrekt verwendest, falls du diese Methode bevorzugst.
Fehler in der Formel: Achte darauf, dass die Gänsefüßchen im Formeltext verdoppelt werden, wenn du sie in VBA schreibst. Zum Beispiel: ""
statt "
.
Falsche Bezugsart: Wenn du R1C1 verwendest, stelle sicher, dass du die Formel im richtigen Format schreibst. Beispiel:
.Range("E7").FormulaR1C1 = "=INDIREKT(VERKETTEN(RC[-4],""!"";$T$1))"
Fehlende Klammern: Überprüfe immer, ob du alle erforderlichen Klammern in deiner Formel hast.
Falls du keine VBA-Lösung verwenden möchtest, kannst du auch die Excel-Formel direkt in eine Zelle eingeben. Nutze die Funktion:
=INDIREKT(VERKETTEN("'"&A7&"'!";T1))
Diese Methode erfordert keine Programmierung und ist einfach zu verwenden.
Hier sind einige Beispiele für die Verwendung der vba concatenate
-Funktion:
Verkettung von Text und Zahlen:
ws.Range("A1").Value = "Das Ergebnis ist " & 5 + 10
Dynamische Zellverweise:
ws.Range("B1").Formula = "=VERKETTEN(A1;"" ist der Wert"")"
Diese Beispiele zeigen, wie du excel vba verketten
in verschiedenen Szenarien einsetzen kannst.
1. Wie kann ich die Formel in eine andere Zelle kopieren?
Du kannst den Code anpassen, um die Formel in eine andere Zelle zu schreiben, indem du die Zellenreferenz in ws.Range("E7")
änderst.
2. Was ist der Unterschied zwischen INDIRECT
und INDIREKT
?
INDIRECT
ist die englische Version der Funktion, während INDIREKT
die deutsche Bezeichnung ist. Achte darauf, die richtige Sprache in deiner Excel-Version zu verwenden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen