2016-06-24 20 views
0

Ich habe folgendes Makro in VBA, und ich versuche, es zu bekommen zu arbeiten, aber ich erhalte eine Fehlermeldung: „Fehler Kompilieren: Objekt erforderlich“Einfache VBA Schleife mit Solver

Sub Macro6() 


' Macro6 Macro 


Dim counts As Integer 

Set counts = 27 

Do While counts < 28 

SolverOK SetCell:=Sheets("Slag Case_forcedConvection").Cells(counts, 66), MaxMinVal:=3, ValueOf:=1, ByChange:=Sheets("Slag Case_forcedConvection").Cells(counts, 32) 

SolverSolve userfinish:=True 

    counts = counts + 1 

End Sub 
+2

'Setzen Sie counts = 27' Entfernen Sie das' set' – findwindow

+0

Wenn Sie Fehler erhalten, teilen Sie uns mit, welche Zeile mit dem Fehler angezeigt wird – Rodger

Antwort

1

Integers/Longs tun müssen nicht festgelegt werden, sie müssen nur definiert werden. Objekte und Bereiche erfordern den Befehl set.

Da Sie eine Ganzzahl verwenden, sollten Sie Set von Set counts = 27 entfernen.

Wenn Sie immer noch den Fehler erhalten, ist es eine gute Übung, den Code mit F8 zu durchlaufen (oder den Code zu unterbrechen/zu pausieren), um genau zu sehen, an welcher Zeile Fehler auftreten.

http://www.vbtutor.net/ bietet einige gute Tutorials für den Fall, dass Sie eine solide Einführung in VB-Codierung wollten. Ich hoffe, das hilft ...

3

Die korrekte Syntax eines VBA Do While-Schleife ist

Do While *Condition* 

CODE 

Loop 

Sie den 'Loop' am Boden fehlen.