Herbers Excel-Forum - das Archiv

Fragebogenauswertung in eine Tabelle?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Fragebogenauswertung in eine Tabelle?
von: asz

Geschrieben am: 12.12.2006 15:52:01
Hallo,
ich habe folgendes Problem: Unten aufgelistetes Makro liest zwar die Antworten aus einem Fragebogen und listet sie in einer Zeile auf, bei einer erneuten Eingabe in den Fragebogen wird aber ein neues Sheet aufgemacht. Mein Ziel wäre, dass die Ergebnisse einfach in der nächsten Zeile der ersten Auswertungsdatei aufgelistet werden - wer kann mir bitte helfen?
Viele Grüße & ganz vielen Dank im voraus
asz
Sub Veranstaltung_neu()
' Veranstaltung_neu Makro
' Makro am 09.11.2006 von kleina aufgezeichnet
' Tastenkombination: Strg+n
Range("B8").Select
Selection.Copy
Sheets("Auswertung").Visible = True
Sheets("Auswertung").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Veranstaltung").Select
Range("B11").Select
Selection.Copy
Sheets("Auswertung").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Veranstaltung").Select
Range("B21").Select
Selection.Copy
Sheets("Auswertung").Select
Range("K2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Veranstaltung").Select
Range("C45").Select
Selection.Copy
Sheets("Auswertung").Select
Range("AA2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Veranstaltung").Select
Range("B47").Select
Selection.Copy
Sheets("Auswertung").Select
Range("AB2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Veranstaltung").Select
Range("B49").Select
Selection.Copy
Sheets("Auswertung").Select
Range("AC2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Auswertung").Select
Sheets("Auswertung").Copy Before:=Sheets(3)
ActiveWindow.SelectedSheets.Visible = False
Sheets("Auswertung").Visible = False
Sheets("Veranstaltung").Select
ActiveSheet.Shapes("Check Box 2").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 3").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 4").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 9").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 10").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 11").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 12").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 13").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 14").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 15").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 16").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 17").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 23").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 25").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 27").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 28").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 29").Select
With Selection
.Value = xlFalse
End With
ActiveSheet.Shapes("Check Box 30").Select
With Selection
.Value = xlFalse
End With
Range("B8,B11,B21,C45").ClearContents
End Sub

Bild

Betrifft: AW: Fragebogenauswertung in eine Tabelle?
von: Mustafa

Geschrieben am: 13.12.2006 00:25:04
Hallo asz,
Da dein Code jede Menge an unnötigen Select Anweisungen enthielt habe ich ihn mal etwas vereinfacht und hoffentlich auch das Gewünschte eingebaut.
Habe ein paar Kommentare in den Code eingefügt damit du siehst wo was gemacht wird.
Da ich den Aufbau deiner Tabelle nicht kenne und zu faul war mir eins zu basteln ist der Code ungetestet.
Also sollten noch Fehler drin sein einfach ne Rückmeldung evtl. mit einer Beispielmappe.
Füge diesen Code anstelle von deinem ein :
Sub Veranstaltung_neu()
'Variablen deklarieren
Dim Wks1 As Worksheet
Dim Wks2 As Worksheet
Dim Cb As OLEObject
Dim X As Integer
'Werte an Variablen zuweisen
Wks1 = Sheets("Veranstaltung")
Wks2 = Sheets("Auswertung")
'Einblenden des Sheets "Auswertung"
Wks2.Visible = False
'Kopieren der Daten aus dem Sheet "Veranstaltung" in das Sheet "Auswertung"
'Wks2.Range("B65536").End(xlUp).Offset(1, 0) Diese Anweisung wählt aus Spalte B
'die erste Leere Zelle von Unten aus
Wks2.Range("B65536").End(xlUp).Offset(1, 0) = Wks1.Range("B8")
Wks2.Range("C65536").End(xlUp).Offset(1, 0) = Wks1.Range("B11")
Wks2.Range("K65536").End(xlUp).Offset(1, 0) = Wks1.Range("B21")
Wks2.Range("B65536").End(xlUp).Offset(1, 0) = Wks1.Range("C45")
Wks2.Range("AC65536").End(xlUp).Offset(1, 0) = Wks1.Range("B49")
'Ausblenden des Sheets "Auswertung"
Wks2.Visible = False
'Rücksetzen der Checkboxen
For Each Cb In Wks1.OLEObjects
If Not IsNumeric(Right(Cb.Name, 2)) Then
X = CInt(Right(Cb.Name, 1))
Else
X = CInt(Right(Cb.Name, 2))
End If
Select Case X
'Hier kannst du noch ändern welche Checkboxen noch oder nicht mehr zurückgesetzt werden,
'indem du die Nummer der CheckBox hinzufügst oder rauslöschst
Case 2, 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 23, 25, 27, 28, 29, 30
Cb.Object.Value = False
Case Else
End Select
Next
'Leeren der Zellen in Sheet "Veranstaltung"
Wks1.Range("B8,B11,B21,C45").ClearContents
End Sub

Wie du siehst ist der Code viel kürzer und übersichtlicher als dein alter Code.
Rückmeldung obs Hilft wäre nett.
Viele Grüße aus Köln.
Bild

Betrifft: AW: Fragebogenauswertung in eine Tabelle?
von: asz

Geschrieben am: 13.12.2006 08:43:45
Hallo Mustafa,
zunächst ganz vielen Dank für die Mühe! Leider bekomme ich beim Ausprobieren (habe das Makro dem Button Abschicken zugewiesen) folgende Fehlermeldung:
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt
Der Debugger springt auf die Zeile
Wks1 = Sheets("Veranstaltung").
Was tun? Ich habe jetzt die Mappe hochgeladen, damit Du besser sehen kannst, worum es geht:
https://www.herber.de/bbs/user/38939.xls
Danke!!!!
asz
Bild

Betrifft: AW: Fragebogenauswertung in eine Tabelle?
von: Reinhard
Geschrieben am: 13.12.2006 19:09:34
Hi asz,
Set Wks1 = Sheets("Veranstaltung").
und das auch bei wks2 machen.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Bild

Betrifft: Hups, flüchtigkeitsfehler ;-)
von: Mustafa
Geschrieben am: 13.12.2006 22:42:59
Hallo asz, hallo Reinhard,
Da ist mir jetzt peinlich :-)
Danke für die Korrektur Reinhard.
Bild

Betrifft: AW: Hups, flüchtigkeitsfehler ;-)
von: asz

Geschrieben am: 14.12.2006 08:46:18
Hallo Ihr beiden,
ja, vielen Dank! Ihr habt recht, so funktioniert die Übertragung der eingetragenen Zahlen - was aber noch nicht geht (und was bei der ersten Version ging) ist die Übertragung der werte der Pulldowns under Checkboxes - kriegt Ihr das auch noch irgendwie hin? Das wäre genial!
Ganz vielen Dank!
ASZ
Bild

Betrifft: Frage noch offen owT
von: Reinhard
Geschrieben am: 14.12.2006 20:04:40

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..

Bild

Betrifft: AW: Hups, flüchtigkeitsfehler ;-)
von: Mustafa

Geschrieben am: 14.12.2006 22:47:06
Hallo asz,
Ich weiss nicht was genau nicht funktioniert weil ich keine Ahnung habe wie deine Tabelle denn Ausschaut.
Wenn ich mir 30 CheckBoxen in die Tabelle einbaue werden die auch mit dem Code zurückgesetzt.
Eine Beispielmappe wie deine Mappe aufgabeut ist wäre da sehr Hilfreich.
Rückmeldung wäre nett.
Viele Grüße aus Köln.
Bild

Betrifft: AW: Hups, flüchtigkeitsfehler ;-)
von: asz

Geschrieben am: 15.12.2006 08:57:17
Hallo Mustafa,
dankeschön, ja, die Werte werden zurückgesetzt, aber in die Auswertungstabelle müsste übertragen werden, welche Auswahl getroffen wurde (als Zahl, 'Option 1' oder als 'X', dort wo die Antworten in Spalten differenziert sind). Hier noch einmal der Link zur Mappe:
https://www.herber.de/bbs/user/39016.xls
Vielen Dank & Grüße
asz
Bild

Betrifft: AW: Hups, flüchtigkeitsfehler ;-)
von: Mustafa
Geschrieben am: 15.12.2006 23:03:41
Hallo asz,
Ich werde jetzt nicht mehr beide Threads weiterverfolgen sondern an diesem Bsp. die Änderungen vornehmen die du in den unterschiedlichen Threads gewünsht hast.
Poste dann die Fertige Mappe hier zurück.
Viele Grüße aus Köln.
Bild

Betrifft: AW: Hups, flüchtigkeitsfehler ;-)
von: asz

Geschrieben am: 17.12.2006 18:48:44
Hallo Mustafa,
ok, vielen Dank für die Mühe!
Viele Grüße
asz
 Bild
Excel-Beispiele zum Thema "Fragebogenauswertung in eine Tabelle?"
Suche über mehrere Tabellen Benennen von Tabellenblättern mit Monatsnamen
Druckseitenlinien im Tabellenblatt Tabellenblattnamen in ein Listenfeld einlesen
Suchbegriff über mehrere Tabellenblätter suchen. Tabellenblätter benennen
Tabellenblatt auswählen Zustand von Tabellenblatt-Checkboxes ermitteln
Tabellenblattnamen der VBE-Projekte ändern Tabellenblattnamen nach Datum