Hallo liebe VBA-Experten,
ich bin im Moment dran, ein Formular in Excel zu programmieren.
Hierfür habe ich 96 Optionsfelder (24 Fragen mit je 4 Antworten), die folgendermaßen heißen: ob_ae_1, ob_ae_2, ..., ob_ae_96.
Die Namen habe ich nun in ein String-Array namens ob gepackt (was für eine Arbeit...).
Außerdem steht in der Spalte neben den Optionsfeldern Buchstaben, entweder D,N,G,I oder S.
Hat der Nutzer nun alle Fragen beantwortet, klickt er auf den Button 'Auswerten'.
In auswerten.Click() soll nun, bei der Antwort, die ausgewählt wurde, der danebenstehende Buchstabe, z.B. das D
in einer Variablen (Dim d as Integer) d hochgezählt werden, dass ich am Ende sagen kann, wie viele Antworten
D, N, G, I oder S waren.
Ich hoffe das ist einigermaßen verständlich erklärt?
Nun habe ich also den Array volgendermaßen deklariert:
Dim ob(95) As String
ob(0) = "ob_ae_1"
ob(1) = "ob_ae_2)"
usw...
Um rauszufinden, ob nun das Optionsfeld gedrückt wurde und dann den Buchstaben daneben zu zählen, habe ich folgendes geschrieben:
For z = 0 To 95
For y = 14 To 132
If ob(z).Value = True Then
Select Case Cells(y, 5)
Case "D"
d = d + 1
Case "I"
i = i + 1
Case "S"
s = s + 1
Case "G"
g = g + 1
Case "N"
n = n + 1
End Select
End If
Next y
Next z
Leider funktionert dies nicht, es scheitert schon daran, dass er 'ob' nicht erkennt in dem If-Konstrukt.
Kann mir da jemand helfen und mir den Code schreiben, wie es richtig gehört? Das wäre super...
|