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):
--> 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
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