Excel 03: Fragebogen realisieren

mstangl

Grünschnabel
Hallo!

Ich bin ein ziemlicher Anfänger was die "Fortgeschrittenen Funktionen" von Excel angeht, hab auch noch nicht viel mit Makros/VBA usw. gemacht.

Nun möchte ich einen Fragebogen samt auswertung im Excel realisieren und bin (unter tatkräftiger Mithilfe anderer) schon so weit gekommen, dass durch den Klick auf einen Button das Ergebnis des Fragebogens (Gesamtpunktezahl) in einer MessageBox ausgegeben wird (das ganze passiert mittels Makro).

Folgendes Problem:
1.) Ich würde sehr gerne die Gesamtpunktezahl in einer Zelle der Exceltabelle ausgeben lassen (nach Drücken des "Berechnen"-Buttons). Aber ich weiß nicht wie ich diesen Wert (der mir bislang nur in einer MessageBox ausgegeben wird) in eine Zelle schreiben lassen kann.

Hier eine Kurzfassung des Codes (die gesamte Auswertung ist gekürzt):
Code:
Option Explicit
Public Sub prcEvaluation()
   Dim objOLEObjekt As OLEObject
   Dim intPoints As Integer
   For Each objOLEObjekt In Tabelle1.OLEObjects
      If TypeOf objOLEObjekt.Object Is MSForms.OptionButton Then
         If objOLEObjekt.Object.Value Then
            Select Case objOLEObjekt.Object.GroupName
               Case "f1" 'Buttos der Gruppe f1
                  Select Case Right$(objOLEObjekt.Name, 1)
                     Case 1, 2: intPoints = intPoints + 1 'je 1 Punkt für richige Antwort
                  End Select
               End Select
            End If
         End If
      Next
      MsgBox "Erreichte Punktzahl: " & CStr(intPoints), vbInformation, "Information"
End Sub

--> ich möchte es also schaffen, dass der Wert von "intPoints" beim Aufruf des Makros in eine Zelle geschrieben wird.

2.) Ich hätte es gerne, dass ein Benutzer nach dem Öffnen des Dokuments nichts am Dokument verändern kann, ausser die Optionsfelder auswählen (Antwortmöglichkeiten) und den "Berechnen"-Button (der Text usw. soll nicht veränderbar sein).

Hoffe auf Hilfe!
lg, Matthias
 
Hai,

eine Zelle kannst du in Excel mit

Cells(reihe,Spalte) = intPoints

oder mit

Range("C5") = intPoints

ansprechen.


Damit kein anderer Nutzer an der Tabelle was ändern kann, kann man unter Extras->Schutz->Blatt schützen... ein Passwort festlegen und einstellen was geschützt werden soll.
 
Zurück