Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel per VBA in Tabelle schreiben

Forumthread: Formel per VBA in Tabelle schreiben

Formel per VBA in Tabelle schreiben
05.12.2006 19:36:08
Bernd
Hallo zusammen,
heute benötige ich wiederholt Eure Hilfe. Per VBA möchte ich in gleichartige Dateien in eine mit Namen bezeichnete Zelle eine Formel schreiben.
Vielleicht wichtig: die Dateien befinden sich alle in einem extra Verzeichnis, auf das ich mit diesem Makro zugreife, die Dateien einzeln öffne und dann die Formel hineinschreibe.
Mit nachstehendem Summen-Befehl wird leider ein nicht erkennbares Leerzeichen vor die Summe geschrieben.
Mappe.Sheets("Financials").Range("OI_Costs_FY3").Formula = "=SUMME(H32:K32)"
Matthias hat mir zwar heute einen Trim-Befehl gegeben, der funktioniert aber nur innerhalb des Projektes/Datei, in dem der Trim-Befehl steht. In meinem "Zugriffs"-Makro bleibt jedes Mal beim Trimmen bei
Z.FormulaLocal = WorksheetFunction.Trim(Z.Value)
stehen. Hängt das vielleicht mit dem "Local" im Tim-Befehl zusammen?
BITTE Euch innigst um Hilfe.
https://www.herber.de/bbs/user/38757.xls
Grüße
Bernd
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA in Tabelle schreiben
05.12.2006 20:17:23
Kurt
Hi,
falsch:
Mappe.Sheets("Financials").Range("OI_Costs_FY3").Formula = "=SUMME(H32:K32)"
richtig:
Mappe.Sheets("Financials").Range("OI_Costs_FY3").Formula = "=SUM(H32:K32)"
oder:
Mappe.Sheets("Financials").Range("OI_Costs_FY3").FormulaLocal = "=SUMME(H32:K32)"
mfg Kurt
Anzeige
AW: Formel per VBA in Tabelle schreiben
05.12.2006 20:17:35
ramses
Hallo
Sorry, aber das kann gar nicht funktionieren, auch mit dem Trim-Befehl nicht.
Mit "Formula" erwartet EXCEL den englischen Funktionsnamen, der dann allerdings korrekt übersetzt wird.
Ansonsten taucht nämlich z.B. bei diesem Code
Range("A1").Formula = "=Summe(B1:C1)"
dieses Bild auf
Tabelle1

 AB
1#NAME? 
2  

Formeln der Tabelle
ZelleFormel
A1=Summe(B1:C1)

Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML    Download  
dagegen mit
Range("A1").FormulaLocal = "=Summe(B1:C1)"
dieses Bild
Tabelle1

 AB
10 
2  

Formeln der Tabelle
ZelleFormel
A1=SUMME(B1:C1)

Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML    Download  
Daher mal mein Vorschlag:
Mappe.Sheets("Financials").Range("OI_Costs_FY3").FormulaLocal = "=SUMME(H32:K32)"
Gruss Rainer
Anzeige
Tausend Dank an Kurt & Rainer bzw. Ramses
06.12.2006 11:34:25
Bernd
Hallo Kurt,
Hallo Rainer,
vielen Dank an Ecuh beide, ganz besonders an dich, Rainer für deine Erläuterungen. Ich binsiet langem ein Bewunderer im Excel-Forum ob Deiner Kunst und Deines Wissens als Ramses.
Ihr habt mir riesig geholfen.
Grüße
Bernd
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Formel per VBA in Tabelle schreiben


Schritt-für-Schritt-Anleitung

Um eine Excel Formel in eine Tabelle per VBA zu schreiben, folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul erstellen: Klicke im Menü auf Einfügen und wähle Modul.

  3. VBA-Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub FormelInTabelleSchreiben()
       Dim Mappe As Workbook
       Dim Zelle As Range
    
       ' Datei öffnen
       Set Mappe = Workbooks.Open("Pfad\zu\deiner\Datei.xlsx")
    
       ' Zelle definieren
       Set Zelle = Mappe.Sheets("Financials").Range("OI_Costs_FY3")
    
       ' Formel schreiben
       Zelle.FormulaLocal = "=SUMME(H32:K32)" ' oder Zelle.Formula = "=SUM(H32:K32)"
    
       ' Datei speichern und schließen
       Mappe.Save
       Mappe.Close
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  1. Fehler: #NAME?

    • Lösung: Stelle sicher, dass du die richtige Funktionssyntax verwendest. Zum Beispiel, benutze Formula für englische Formeln und FormulaLocal für lokale Formeln.
  2. Leerzeichen in der Formel

    • Lösung: Verwende die Trim-Funktion, um unerwünschte Leerzeichen zu entfernen. Zum Beispiel:
    Zelle.FormulaLocal = WorksheetFunction.Trim(Zelle.Value)

Alternative Methoden

Falls du keine VBA verwenden möchtest, kannst du die Formel direkt in die Excel-Zelle eingeben. Alternativ kannst du auch:

  • Formeln über die Excel-Oberfläche schreiben: Klicke auf die Zelle, in die du die Formel eingeben möchtest, und schreibe die Formel direkt.
  • Formel in Tabellenüberschrift: Wenn du eine Formel in eine Tabellenüberschrift einfügen möchtest, stelle sicher, dass die Zelle als Überschrift formatiert ist.

Praktische Beispiele

Hier sind einige praktische Beispiele für das Schreiben von Formeln in eine Excel-Tabelle:

  • Summen-Formel:

    Mappe.Sheets("Financials").Range("A1").Formula = "=SUM(B1:C1)"
  • Durchschnitts-Formel:

    Mappe.Sheets("Financials").Range("A2").Formula = "=AVERAGE(B1:C1)"
  • Formel in Tabellenüberschrift:

    Mappe.Sheets("Financials").Range("A1").Formula = "=SUMME(B1:C1)"

Tipps für Profis

  • Verwende Named Ranges: Das Definieren von Namen für deine Bereiche kann die Lesbarkeit deiner Formeln verbessern.
  • Modularer Code: Organisiere deinen VBA-Code in Module, um die Wartbarkeit zu erhöhen.
  • Debugging: Nutze die Debugging-Tools in VBA, um Fehler schneller zu finden und zu beheben.

FAQ: Häufige Fragen

1. Wie kann ich eine Formel in eine Excel-Tabellenüberschrift schreiben?
Du kannst einfach die Zelle, die die Überschrift darstellt, mit der gewünschten Formel befüllen, wie in den Beispielen gezeigt.

2. Was ist der Unterschied zwischen Formula und FormulaLocal?
Formula verwendet die englischen Funktionsnamen, während FormulaLocal die lokalen Namen verwendet. Achte darauf, die richtige Methode zu nutzen, je nach Spracheinstellungen deiner Excel-Version.

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