02.12.2019, 14:52
Hier st der Code für die Auswertung, eine XLSM-Datei im selben Ordner wie die zurück gesandten Fragebögen:
Zum Testen müssen die Fragen ausgefüllt sein, aber vor der Verteilung sollte die Buttons wieder auf "xlno" gesetzt werden. In der Datei ist für meinen Test noch der Dateifilter gesetzt. Das musst Du anpassen wie hier gezeigt.
Teste es zuerst mit Dummy-Fragebögen um eventuelle Fehler zu finden.
Code:
Sub Auswertung()
Dim WS As Worksheet: Set WS = ActiveSheet
Dim WB As Workbook
Dim WSZ As Worksheet: Set WSZ = ThisWorkbook.Sheets(1)
Dim Shp As Shape
Dim Grp As GroupShapes
Dim Opt As OptionButton
Pfad = ThisWorkbook.Path & "\"
lr = WSZ.Cells(Rows.Count, 1).End(xlUp).Row
f = Dir(Pfad & "*.xlsx) ' "Fragebogen Felix (Wiede*.xlsx") <<<<<<<<<<<
Do While f <> vbNullString
lr = lr + 1
col = 9
WSZ.Cells(lr, 1) = f
Set WB = GetObject(Pfad & f)
For sht = 1 To 2
Set WS = WB.Sheets(sht)
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
WSZ.Cells(lr, col) = i - 1
col = col + 1
'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
End If
Next i
Next Shp
Next sht
'Freitext
WSZ.Cells(lr, col) = WB.Sheets(2).Cells(16, 4)
WSZ.Cells(lr, col + 1) = WB.Sheets(2).Cells(17, 4)
WB.Close 0
f = Dir
Loop
End Sub
Zum Testen müssen die Fragen ausgefüllt sein, aber vor der Verteilung sollte die Buttons wieder auf "xlno" gesetzt werden. In der Datei ist für meinen Test noch der Dateifilter gesetzt. Das musst Du anpassen wie hier gezeigt.
Teste es zuerst mit Dummy-Fragebögen um eventuelle Fehler zu finden.