2008-12-04 20 views
19

Ich versuche, VBA zu verwenden, um eine Formel in eine Zelle in Excel zu schreiben. Mein Problem ist, dass, wenn ich ein Semikolon (;) in meiner Formel verwenden, ich einen Fehler:Schreiben Sie eine Formel in eine Excel-Zelle mit VBA

Error 1004

Mein Makro ist die folgende:

Sub Jours_ouvres() 
    Dim Feuille_Document As String 
    Feuille_Document = "DOCUMENT"   
    Application.Worksheets(Feuille_Document).Range("F2").Formula = "=SUM(D2;E2)"  
End Sub 

Antwort

18

Sie können versuchen, FormelLocal-Eigenschaft statt Formel zu verwenden. Dann sollte das Semikolon funktionieren.

+0

Guter Punkt! Ich habe nicht gemerkt, dass Excel-Formeln unterschiedliche Zeichen an verschiedenen Orten verwenden können (!) Was für ein Albtraum! –

5

Das richtige Zeichen in diesem Fall zu verwenden, ist ein voller Doppelpunkt (:), kein Semikolon (;).

-1

Ich weiß nicht, warum, aber wenn Sie

verwenden
(...)Formula = "=SUM(D2,E2)" 

(', 'anstelle von' ;'), es funktioniert.

Wenn Sie im VB-Skript-Editor (F8) durch Ihr Subsystem gehen, können Sie dem Überwachungsfenster Range("F2").Formula hinzufügen und sehen, wie das Formular aus VB-Sicht aussieht. Es scheint, dass das in Excel gezeigte Formular sich manchmal von dem Formular unterscheidet, das VB sieht ...

+2

Diese Formel fügt nur die Zellen D2 und E2 hinzu. Es funktioniert in diesem Fall, weil dieser Bereich nur zwei Zellen hat. Wenn der Bereich beispielsweise D2: G2 wäre, würde die Verwendung des Kommas nur die ersten und letzten Zellen in dem Bereich hinzufügen: D2 und G2, nicht alle vier. –

+0

Zu den Downvotern: Während eJames in seiner allgemeineren Antwort richtig ist, ist meine Antwort in diesem speziellen Fall richtig. Wenn du runterlegst, erkläre warum. – Treb

5

Das richtige Zeichen (Komma oder Doppelpunkt) hängt vom Zweck ab.

Komma (,) wird nur die beiden fraglichen Zellen summieren.

Doppelpunkt (:) summiert alle Zellen innerhalb des Bereichs mit Ecken, die durch diese beiden Zellen definiert sind.

+0

Dies ist nicht der Grund für den Fehler. Siehe die akzeptierte Antwort. – brettdj

5

Treb, Matthieus Problem wurde durch die Verwendung von Excel in einer nicht-englischen Sprache verursacht. In vielen Sprachversionen ";" ist das richtige Trennzeichen. Sogar Funktionen werden übersetzt (SUM kann SOMMA, SUMME oder was auch immer sein, abhängig davon, in welcher Sprache Sie arbeiten). Excel wird diese Unterschiede im Allgemeinen verstehen und wenn ein von Frankreich erstelltes Arbeitsbuch von einem Brasilianer geöffnet wird, wird es normalerweise kein Problem haben. Aber VBA spricht nur US Englisch, so dass für diejenigen von uns in einer (oder mehreren) ausländischen Sprachen arbeiten, kann dies Kopfschmerzen sein. Sie und CharlesB haben beide Antworten gegeben, die für einen US-Nutzer in Ordnung gewesen wären, aber Mikko hat das REALE Problem verstanden und gab die richtige Antwort (die auch für mich die richtige war - ich bin ein Brite, der in Italien für einen Deutsch- sprechende Firma).

Verwandte Themen