2017-07-24 1 views
0

Ich füge eine Schaltfläche in meinem Excel-Blatt für das Hinzufügen eines Mitarbeiters mit oben verwendeten Formeln.Syntaxfehler in VBA Excel-Code

Die ersten beiden Formeln im folgenden Code funktionieren perfekt, aber die letzte gibt einen Syntaxfehler.

Mein Code ist:

Private Sub AddEmployee_Click() 

    Sheets("Sheet1").Range("A35").Select 
    ActiveCell.EntireRow.Insert shift:=xlDown 

    Sheets("Sheet1").Range("A35:AJ35").Select 
    Selection.Borders.Weight = xlThin 

    Sheets("Sheet1").Range("AJ35").Select 
    ActiveCell.Formula = "=SpeDays(C35:AG35,9)" 

    Sheets("Sheet1").Range("AI35").Select 
    ActiveCell.Formula = "=IF(AI35>=10,10,AI35)" 

    Sheets("Sheet1").Range("AH35").Select 
    ActiveCell.Formula = "=COUNTIF(C35:AG35,">=4000")" 
+0

Ist Ihr Fehler nur im letzten? – David

+0

Nebenbei bemerkt: Sie können die 'select' und' activecell' entfernen und verbinden Sie die beiden Zeilen - 'Sheets (" Sheet1 "). Range (" A35 "). EntireRow.Insert shift: = xlDown' –

Antwort

3

Das Problem Ihre Angebote in der Formel sind. Verwenden Sie doppelte Anführungszeichen als Lösung:

ActiveCell.Formula = "=COUNTIF(C35:AG35, "">=4000"")" 
+0

aber Excel-Datei Formel wie folgt zurückgeben: = IF (AI36> = 10,10, AH36) –

+0

es zeigt Anwendung definiert oder Objekt definiert Fehler –

+0

IT arbeitet Bruder. Ich habe einige Fehler gemacht, jetzt identifiziert. Danke –

1

Verwenden den Code unten verwenden können, als auch

Activecell.Formula = "=Countif(C35:AG35," & chr(34) & ">=4000" & chr(34) & ")" 

Ausgang wird sein:

=Countif(C35:AG35,">=4000")

+0

es zeigt Anwendung definiert oder Objekt definiert Fehler –

+0

@ PratyushKumar - Es gibt Tippfehler, Änderung "AG3,5" zu "AG35", – Mrig

+0

Gibt es eine Möglichkeit, den gleichen Code für die letzte Zeile automatisch anstelle von A35 oder AJ35 bestimmt anwenden .... –