2017-03-09 5 views
0

Ich arbeite an einem Projekt bei der Arbeit und bin sehr mit Excel VBA nicht vertraut. Mein Chef hat mir ein Arbeitsblatt mit einer Spalte mit mehreren Studenten-ID-Nummern gegeben und der Rest der Spalten sind ihre Antworten auf eine Umfrage. Die Umfrage war Multiple-Choice und wählen Sie alle zutreffenden aus.Zählen, wie oft eine Phrase in einer Spalte erscheint

Ich muss herausfinden, wie oft eine der Fragen aus den Multiple-Choice-Fragen ausgewählt wurde. Also zum Beispiel, wenn 10 Schüler sind und es eine Frage mit 2 Antworten gibt und 5 Leute Ja und 5 Nein gewählt haben, brauche ich es, um mir zu sagen, dass 50% die Antwort Ja und 50% die Antwort Nr.

gewählt haben

Für die nicht Multiple-Choice-Fragen wie zum Beispiel alle AP-Klassen, die Sie in der Vergangenheit genommen haben, muss ich das gleiche wissen. Da dies eine Frage ist, sind einige Zellen in dieser Spalte leer.

Ich habe mich sehr bemüht, eine Lösung zu finden. Bisher habe ich versucht, die Anzahl der Antworten in einer bestimmten Spalte zu zählen (ich kann das ganze Arbeitsblatt nicht durchsuchen, da viele der Fragen die gleiche Antwortmöglichkeit haben). Mein großes Problem damit ist, dass ich nicht herausfinden kann, wie man den Bereich für den Countif schreibt, weil ich den Bereich brauche, um die Spaltennummer zu sein, die ich deklariere, aber die Reihe muss die letzte Reihe in der Spalte mit Daten sein. Der Bereich wird nicht jedes Mal gleich sein, da sich die Anzahl der Schüler, die die Umfrage machen, jedes Mal ändert, also müsste der Bereich die erste Zeile der Spalte sein, in der ich ihn eingestellt habe, wie A1 und dann die letzte Zeile diese Spalte.

Jede Hilfe oder Ressourcen, wie dies zu tun wäre, wäre toll, ich habe überall im Internet gesucht und über VBA gelesen.

+0

, wenn Sie die Liste der Fragen haben, und Sie haben bevorzugt antwortet, können Sie ohne VBA Set-up eine Übersicht Blatt in Excel, die die Frage hat (wörtlich aus dem Quiz). Sie summieren dann (erlaubt mehrere Kriterien, also überprüfen Sie die Frage ist die gleiche wie Ihre Referenz, dann die Antworten, die ja sind, ist das zweite Kriterium) und dividieren durch countif (basierend auf der Frage). Die Bereiche müssen nicht in Reihen definiert werden, da sie alle Spalten A oder B usw. sein können. – Cyril

Antwort

0

Ich werde empfehlen, weg von Excel VBA und nur mit grundlegenden Excel-Formeln, um diese Antworten abzuleiten. Gibt es einen Grund, warum Sie hier VBA-Anforderungen haben?

Wie auch immer, hier ist der Standard Weg, um Ihren Bereich als die Spalte + die letzte Zeile zu definieren. Dieses Beispiel ist für Spalte A

Dim LastRow As Long 
LastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row 
+0

Vielen Dank für Ihre Hilfe! Ich konnte herausfinden, wie man die letzte Zeile bekommt, aber ich weiß nicht, wie man die letzte Zeilenvariable benutzt, um den Bereich zu schreiben. Und der Hauptgrund, warum ich mit VBA ging, war, weil mein Chef es vorgeschlagen hat und weil es über 100 Spalten und 600 Zeilen gibt. Wenn Sie denken, dass es einfacher wäre, einfach ein neues Arbeitsblatt zu erstellen und die normalen Excel-Funktionen zu verwenden, versuchen Sie es. – Cocoberry2526

+0

Ich verstehe. Wenn es nicht über 100 oder 600 individuelle Fragen gibt, würde ich immer noch empfehlen, mit dem zu beginnen, was Cyril über mir geschrieben hat - mit Hilfe von Sumifs oder einfach nur mit anderen Excel-Formeln, um Antworten zu erhalten. Es spielt keine Rolle, wie viele Schüler beteiligt sind, sobald Sie die richtige Formel an Ort und Stelle haben, es wird nur die Bandbreite ändern, die Sie ein wenig bewerten. – dwirony

+0

Ich begann mit den regulären Excel-Funktionen wie Sie alle vorgeschlagen und es funktioniert definitiv besser als die VBA. Danke für deine Hilfe! – Cocoberry2526

Verwandte Themen