For schleife checkbox abfrage vba

HI,
ich hab in excel mit vba ein userpanel gemacht. darin sind 8 checkboxen die mit haken ausgefüllt sollen, oder auch leer bleiben dürfen.
das prog. soll mir beim drücken des buttons die anzahl der häkchen abzählen und in ein gewisses textfeld in excel schreiben. welche for-schleife muss ich da benutzen und wie kann diese geschrieben werden? habe versucht mit checkbox i usw… zu arbeiten aber das funktioniert nicht.
Danach soll überall da wo ein häkchen gemacht wurde ein bestimmter wert(der bei jedem häkchen anders ist) von excel eingelesen werden. danach möchte ich mit diesen werten rechnen.
kann mir jemand helfen? vielen dank
lg

tut mir leid. Habe Antwort formuliert, aber die Vorschau dieser Seite zeigt den Code nicht an.

Hallo, danke für die Frage, leider bin ich nicht der Experte der Dir hier weiterhelfen kann. Sorry Carsten

Leider kann ich dir bei deiner Frage nicht behilflich sein, da ich auf diese Art und Weise nicht mit Excel arbeite. Hoffentlich kann dir jemand anderer helfen. Bin gespannt. Ilona

Hi,

ich hab in excel mit vba ein userpanel gemacht. darin sind 8 checkboxen die mit haken ausgefüllt sollen, oder auch leer bleiben dürfen.

Du meinst sicher eine UserForm.

das prog. soll mir beim drücken des buttons die anzahl der häkchen abzählen und in ein gewisses textfeld in excel schreiben.

welche for-schleife muss ich da benutzen und wie kann diese geschrieben werden? habe versucht mit checkbox i usw… zu arbeiten aber das funktioniert nicht.

Es sind nur acht Checkboxen. Deshalb würde ich keine For-Schleife benutzen. Das „gewisse Textfeld“ (was auch immer das ist) akzeptiert vermutlich nur Strings. Deshalb einfach so:

dim i as long
i=0 'sicherheitshalber
if me.checkbox1.value=true then i=i+1
if me.checkbox2.value=true then i=i+1

me.label1.caption=cstr(i)

Danach soll überall da wo ein häkchen gemacht wurde ein :bestimmter wert(der bei jedem häkchen anders ist) von excel eingelesen werden. danach möchte ich mit diesen werten rechnen.

Das ist nicht eindeutig zu beantworten. Zwei Möglichkeiten:

  • entweder Du machst acht Variablen:

Dim val1 as long, val2 as long, …

und rechnest mit denen rum:

if me.checkbox1.value=true then val25=val1+val23

oder du schreibst die Zahl in die Caption der Checkbox - das ist ein String. Den wandelst Du um in eine Zahl und rechnest damit:

val25=iif(me.checkbox1.value=true,val(me.checkbox1.caption),0)+iif(me.checkbox2.value=true,val(me.checkbox2.caption),0)+…

HTH.

M.