Zitat:Und @ Käpt´n Blaubär: Ich dachte (in meinem begrenzten Kosmos) das ich für die Auswertung aller zurück kommenden Fragebogen auf jeden Fall eine separate Datei brauche die mir die ausgefüllten Bögen auslesen kann. Wenn dem nicht so ist muss das natürlich keine Anforderung sein.
... es ist doch alles in Ordnung. Meiner Meinung nach hat Fennek das Kind in trockene Tücher gepackt und es entspricht doch auch Deinen Wünschen. Nur hatte ich die Frage anfangs nur halb verstanden.
durch die vielen Anstürze war es wesentlich schwieriger als gedacht.
Die beigefügte Datei ist soweit wie möglich ausgefüllt und die Buttons positioniert, dass in EINEM Test sowohl das Ausfüllen als auch das Auslesen der Einträge funktioniert hat.
Diese xlsx-Datei (ohne das Blatt "Auswertung") kann an die Probanden verteilt werden und mit zufälligen Dateinamen wieder eingesammelt werden.
In der xlsm-Datei Auswertung werden dann die Ergebnisse gesammelt und ausgewertet
Bitte berichte, ob es geklappt hat.
mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • Leonhard
die xlsx-Datei funktioniert super. Habe auch keine Probleme oder Abstürze beim ausfüllen. Noch eine Frage zur Auswertung: die xlsm Datei ist eine leere Datei die den unten stehenden Code in einem Modul enthalten muss oder orientiert sich die Auswertung an dem von mir angedachten Muster?
Ich könnte aus dem Code nicht erkennen das ich damit alle xlsx Dateien die im gleichen Ordner liegen auslesen kann oder wie ist das angedacht?
Code:
Sub T_1() Dim WS As Worksheet: Set WS = ActiveSheet Dim Shp As Shape Dim Grp As GroupShapes Dim Opt As OptionButton
For Each Shp In WS.Shapes 'Debug.Print Shp.Top, Shp.TopLeftCell.Address
For i = 1 To Shp.GroupItems.Count If InStr(1, Shp.GroupItems(i).Name, "Option") > 0 Then If Shp.GroupItems(i).ControlFormat.Value = 1 Then _ Debug.Print Shp.TopLeftCell.Offset(, -1), i - 1 'Debug.Print i - 1, Shp.TopLeftCell.Address, Shp.GroupItems(i).Name, _ Shp.GroupItems(i).ControlFormat.Value
29.11.2019, 08:44 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2019, 08:44 von RPP63.)
Moin! Wenn man in die Spalte rechts neben der Frage den Zahlenwert 1 bis 5 schreibt (sich also das fehleranfällige "Gehampel" mit den gruppierten Option-Buttons schenkt), ist die Auswertung ein Klacks!
Noch einfacher ist es, eine Umfrage gleich auf Onedrive zu erstellen. Da ist die Auswertung gleich build in. (und kann auch "bequem" am Smartphone beantwortet werden, was die Akzeptanz erhöhen dürfte)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28 •
anbei ein Code, der alle Buttons auf "xloff", also nicht ausgewählt setzt. Gleichzeitig werden alle Fragen numeriert und die GroupBoxen beschriftet. Dass mach nach der Umfrage die Übertragung weniger fehleranfällig.
Code:
Sub T_1() Dim WS As Worksheet: Set WS = ActiveSheet Dim Shp As Shape Dim Grp As GroupShapes Dim Opt As OptionButton
For sht = 1 To 2 Set WS = Sheets(sht) WS.Activate For Each Shp In WS.Shapes 'Debug.Print Shp.Top, Shp.TopLeftCell.Address Q = Q + 1 Shp.Name = "Q" & Format(Q, "00") WS.Shapes.Range(Array(Shp.GroupItems(1).Name)).Select Selection.Characters.Text = Shp.Name
For i = 1 To Shp.GroupItems.Count
If InStr(1, Shp.GroupItems(i).Name, "Option") > 0 Then Shp.GroupItems(i).ControlFormat.Value = xlOff If Shp.GroupItems(i).ControlFormat.Value = 1 Then _ Debug.Print Shp.TopLeftCell.Offset(, -1), i - 1 'Debug.Print i - 1, Shp.TopLeftCell.Address, Shp.GroupItems(i).Name, _ Shp.GroupItems(i).ControlFormat.Value
End If Next i Next Shp Next sht End Sub
mfg
PS: Das "Rumgehampele" über alle Fragen und Buttons muss zumindest einmal sein, ob die Antworten direkt in die Auswertungsdatei oder zuerst in eine Nachbarspalte geschrieben werden, ist Geschmackssache.
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • Leonhard
nur das ich das auch verstehe. Der Code ist für die Vorbereitung vor dem Versenden gedacht, da er ja alle Buttons auf nicht ausgewählt setzt. Kann man die Beschriftung noch i-wie verbergen? Das die Fragen über die GroupBoxen nummeriert werden müssen damit sie ausgewertet werden können verstehe ich, optisch ist das leider nicht so schön.
Beste Grüße
Ps.: Wenn das einmal sauber ist, wie viel Aufwand würde dann noch eine xlsm Datei benötigen die in der Lage ist die GroupBoxen auszulesen?
Der Code wertet auch aus, aber i.M. werden die Ergebnisse ins Debug-Fenster geschrieben. Wenn man anstelle das Auswertungs-Workbook referenziert, passt es. Also eine sehr kleine Änderung.
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28 • Leonhard
Blatt 3 als Muster für die Auswertung passt schon. Wichtig ist, dass die Reihenfolge der Fragen gleich ist zum Fragebogen und auch keine Leerspalten existieren. Der Makro schreibt einfach (blind) die nächste Frage des Fragebogens in die nächste Spalte der Auswertung.
Evetuell sollte man den Titel der Frage (Q + Nr der Frage) im Auswertungsbogen ebenfalls einfügen und vom Makro checken lassen. Sonst muss man es einmal "per Augenschein" machen.
Dass die beiden offenen Fragen am Ende stehen, erleichert die Programmierung. Der Makro muss die Likert-Skala und die offenen Fragen getrennt bearbeiten.
Es fehlt noch eine Schleife über alle Dateien (*.xlsx) eines Ordners. Das ist aber ein sehr gut eingeübter Code.
ich denke ein zusätzliches Makro welches die Reihenfolge in der Auswertungsdatei checkt ist eher nicht notwendig. Das würde ich dann doch einmalig "per Augenschein" prüfen, die extra Programmierung will ich dir/ euch gerne sparen =)
Darf ich denn mal dreist anfragen ob du für die Auswertungsdatei schon was gezaubert hast?