Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1504to1508
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gefilterte Daten aus Tabelle auslesen und zählen

Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 12:46:19
Rafa
Hi Leute!
Ich habe ein kleines Problemchen...
In der angehängten Datei ist eine gefilterte Tabelle. Diese Tabelle soll zunächst nach dem Ort gefiltert werden. Jeder Ort hat verschiedene Häuser, Etage, etc. und wurde bewertet mit den Kriterien: "leer", "-", "o" und "x". Jetzt möchte ich die gefilterten Daten auszählen und dann in eine der Hilfstabellen im oberen rechten Bereich übertragen lassen. Dabei steht jede der Hilfstabellen für jeweils ein Haus (A, B oder C). Wichtig ist hierbei, dass die Änderung des Hauses. Das Programm muss also merken, dass es sich erst um Haus A handelt und dessen Werte dann auszählen und in die erste Hilfstabelle übertragen. Wenn sich die "Haus-Spalte" von A zu B ändert, soll die Werte für dieses Haus ausgezählt werden und in die nächste Hilfstabelle übertragen werden.
https://www.herber.de/bbs/user/107029.xlsm
Nochmal die genaue Vorgehensweise:
1. Manuelle Auswahl des Ortes -> Tabelle wird nach Ort gefiltert
2. Durch Betätigen eines Buttons soll die Zählung beginnen.
3. Programm zählt Bewertung für "Haus A" und trägt das Ergebnis in die erste Hilfstabelle ein.
4. Bei Wertänderung der "Haus-Spalte" beginnt nächste Auszählung und das Ergebnis wird daraufhin in die zweite Hilfstabelle übertragen.
Bei weiteren Änderungen in der "Haus-Spalte" sollten diese natürlich in die darauffolgende Hilfstabelle übertragen werden.
Mein Code dafür ist bisher ziemlich leer, da ich leider weder den Befehl für die Änderung einer Zelle kenne oder weiß, wie ich bei der Auszählung vorgehen soll..
Sub Ausfuehren()
Dim y As Integer
y = 12
x= 6
Do While isemptycells(y, 2) = False And Hidden = False
'Schau dir Zelle (y,2) an bis sie sich ändert
'Zähle "-", "o", "x" oder "leer" in Zelle (y, 7) und speichere unter (x, 12)
'Zähle "-", "o", "x" oder "leer" in Zelle (y, 8) und speichere unter (x, 13)
'Zähle "-", "o", "x" oder "leer" in Zelle (y, 9) und speichere unter (x, 14)
'Zähle "-", "o", "x" oder "leer" in Zelle (y, 10) und speichere unter (x, 15)
'Wenn sich der Wert ändert dann x= x + 5)
y = y + 1
Loop
End Sub

Ich hoffe ihr könnt mir weiterhelfen!
Vielen Dank und beste Grüße
Rafa

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 13:02:24
Oberschlumpf
Hi Rafa,
noch nicht klar ist mir, was genau in den "Hilfstabellen" stehen soll.
Soll das Ergebnis so aussehen (am Bsp von Berlin):
Userbild
Wenn nicht, dann zeig uns deine Datei bitte noch mal - aber bitte MIT den Ergebniswerten in der Hilfstabelle.
Ciao
Thorsten
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 13:12:28
Rafa
Hi Thorsten!
Da habe ich wohl nicht ganz zu Ende gedacht...
Ich möchte diese ausgezählten Daten am Ende für eine Balkendiagramm verwenden, also müsste ich festlegen, dass bspw. in der ersten Zeile der Hilfstabelle alle "o" gezählt werden, in der zweiten alle "x", in der dritten alle "-" und in der vierten alle "leeren". Also alle 4 Möglichkeiten untereinander in einer festgelegten Reihenfolge jeweils für Eigen, Fremd, IST und SOLL.
Gruß
Rafa
Anzeige
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 13:24:29
Oberschlumpf
Hi Rafa,
ich zitiere meinen letzten Satz:
Wenn nicht, dann zeig uns deine Datei bitte noch mal - aber bitte MIT den Ergebniswerten in der Hilfstabelle.
Ciao
Thorsten
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 13:50:45
Rafa
Hi Thorsten,
Also am Beispiel von Berlin sollte das so aussehen:
Userbild
Also würde die Auszählung dann bei den jeweiligen Kriterien konkret auf eine feste Zeile gespeichert werden. Von dort sollten dann die Daten für ein Balkendiagramm bereitgestellt werden.
Gruß
Rafa
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 13:55:19
Oberschlumpf
Hi Rafa
Das ist zwar nicht noch mal die Datei, aber damit kann ich auch arbeiten.
Da ich jetzt aktuell erst mal keine Zeit hab, wird es ein wenig dauern, bis ich vllt eine zufriedenstellende Lösung zeige.
Bis dahin
Thorsten
Anzeige
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 21:36:11
Rafa
Hi Thorsten,
kein Problem, ich bin dankbar für jede Hilfe :)
AW: Gefilterte Daten aus Tabelle auslesen und zählen
15.07.2016 22:10:58
Oberschlumpf
Hi Rafa,
so, da bin ich wieder.
Hier, versuch mal:
https://www.herber.de/bbs/user/107041.xlsm
Dein Button wird nicht benötigt.
Die Werte in den Hilfstabellen passen sich automatisch an, sobald du im Autofilter einen anderen Ort auswählst.
Ich habe seeehr lange an einer Formel/VBA-Lösung gebastelt :-)
Und wenn ich nix übersehen habe, dann sollte es jetzt in der Bsp-Datei so funktionieren, wie du es haben möchtest.
Aufgefallen ist mir aber, dass du die + Einträge gar nicht berücksichtigen wolltest.
Aber ok, das war ja auch nicht Bestandteil deiner Frage.
Hilfts denn?
Ciao
Thorsten
Anzeige
AW: Gefilterte Daten aus Tabelle auslesen und zählen
17.07.2016 13:28:44
Rafa
Hi Thorsten,
erstmal vielen Dank für die Lösung! Das klappt auf jeden Fall schon mal für diese Tabelle :)
Du hast das ja mit Formeln im Tabellenblatt gelöst, somit passt das nur für diese Anwendung. Ich wollte diese Funktionen noch auf weitere Tabellen anwenden, daher hatte ich versucht, das mit einem VBA-Code zu lösen. Leider kenne ich dafür aber die Befehle nicht.
Bei deiner Lösung besteht bspw. leider nicht die Möglichkeit zusätzlich die Häuser herauszufiltern. Es werden weiterhin auch alle ausgeblendeten Zeilen miteinbezogen. Ja ich weiß, ich habe das vorher nicht erwähnt, Sorry!!! Es sollte erst gefiltert werden (etwa 3 Kriterien) und dann berechnet. Fpr eine andere Anwendung habe ich schon die Filter-Lösung mit Hilfe einer Abfrage über Userformen. Daraus entsteht dann eine beliebige Tabelle mit entsprechender Bewertung. Im Anschluss soll eine Auszählung folgen und die Werte in den Hilfstabellen speichern.
Ich vermute, dass das in eine Verschachtelung von if- oder dowhile-Schleifen hinausläuft, wie du in meinem "Ansatz" sehen konntest.
Ich benötige dafür solche Befehle wie z.B.
- Beachte diese Zeile solange, bis der Wert dieser Zeile sich ändert, dann springe zur nächsten und beachte wieder bis der Wert dieser Zeile sich ändert.
- Währenddessen zähle alle "x","o","-" und "+" Einträge in einer bestimmten Reihe und speichere das Ergebnis in einer bestimmten Zelle.
Ich hoffe, du kannst mir folgen und mir irgendwie weiterhelfen.
Beste Grüße
Rafa
Anzeige
jemand anders darf auch bitte, weil....
17.07.2016 15:27:25
Oberschlumpf
...ich vielleicht eine Lösung finde, da aber nicht sicher bin.
Hi Rafa,
"... Ja ich weiß, ich habe das vorher nicht erwähnt, Sorry!!!..."
Stimmt! Das hast du mit den zusätzlichen Filtern - nicht - erwähnt.
So passt natürlich meine Lösungsidee eigentlar gar nicht.
Und ich hätte mir die Mühe dafür auch sparen können!
Sorry, aber ich mag langes Drumrum nicht, deswegen meine klaren, direkten Wörter.
Bevor ich mich jetzt wieder hinsetze, und std.lang versuche, dir zu helfen, möchte ich von dir ganz genau wissen, was du wann, wie wo, warum erreichen möchtest.
Und wenn du dann mir genau das in deiner nächsten Antwort erklärt hast, werde ich nochmal versuchen, eine Lösung zu finden.
Aber! eben auch nur ganz genau nach deinen Vorgaben.
Wenn du wieder was vergessen hast, was dir erst nach meiner Lösung auffällt, dann bin ich raus.
Ciao erst mal
Thorsten
Anzeige
AW: jemand anders darf auch bitte, weil....
17.07.2016 23:19:13
Rafa
Hi Thorsten,
ich verstehe dich vollkommen und kann mich daher nur entschuldigen! Tut mir wirklich leid.
Also zu meinem Problem bei anderen Anwendungen:
https://www.herber.de/bbs/user/107077.xlsm
In der angehängten Datei befinden sich 3 Tabellenblätter:
- 1 Daten: hier sind die Ursprungsdaten. Diese werden nicht geändert, lediglich ergänzt.
- 3 Hilfstabelle: Hierher werden die benötigten Daten aus der Tabelle "Daten" kopiert und gefiltert. Danach müssen diese ausgezählt werden, um die benötigten Daten/Werte für Diagramme im Tabellenblatt "Kompetenzbericht" bereitzustellen.
- 2 Kompetenzbericht: hier befindet sich der Button "Ausführen". Bei Betätigen kommen folgende Abfragen:
- Darstellung - hier wird nach der Darstellung der Balkendiagramme gefragt. Eigen bedeutet ein Vergleich zwischen Eigen und SOLL, Fremd ist der Vergleich zwischen Fremd und SOLL und Abgestimmt bedeutet ein Vergleich zwischen IST und SOLL.
- Standort, Fachbereich, Hauptumfang sind Abfragen nach der Filterung.
Die Daten/Werte für die Diagramme sollen aus der Hilfstabelle gezogen werden. Es können bis zu 18 Balkendiagramme werden. Diese sollen sich bei Bedarf auf zwei Seiten zu jeweils 9 Balkendiagrammen verteilen. Die Seiten sollen durch einen Klick auf "nächste Seite" oder "vorherige Seite" angezeigt werden. (Andere Möglichkeit evtl. aus Gründen der einfacheren Programmierbarkeit: Bei weniger als 9 Diagrammen die zweite Seite ausblenden, die sich möglicherweise unter oder neben der jetzigen Ansicht befindet und identisch aufgebaut ist)
Daher meine Vorgehensweise für die Auszählung:
Sub Auszählen()
Dim y As Integer
y = 12
x= 6
Do While isemptycells(y, 2) = False And Hidden = False
'Schau dir Zelle (y,2) an bis sie sich ändert
'Zähle "-", "o", "x" oder "+" in Zelle (y, 7) und speichere unter (x, 12)
'Zähle "-", "o", "x" oder "+" in Zelle (y, 8) und speichere unter (x, 13)
'Zähle "-", "o", "x" oder "+" in Zelle (y, 9) und speichere unter (x, 14)
'Zähle "-", "o", "x" oder "+" in Zelle (y, 10) und speichere unter (x, 15)
'Wenn sich der Wert ändert dann x= x + 5)
y = y + 1
Loop
End Sub
Bei weiteren Fragen gebe ich natürlich gerne Auskunft!
Ansonsten bin ich wie gesagt dankbar für jede Hilfe!!!!!!
Beste Grüße
Rafa
Anzeige
AW: jemand anders darf auch bitte, weil....
18.07.2016 22:11:31
Oberschlumpf
Hi Rafa
ich bin dran, weiß aber nicht, ob ich es noch schaffe - bevor - dieser Thread geschlossen wird.
Sollte das der Fall sein, werde ich einen neuen Thread öffnen, der im Betreff deinen Namen: Rafa enthält.
Achte also bitte nicht nur darauf, dass hier die Lösung erscheinen wird, achte bitte auch auf alle anderen Threads (von mir), die deinen Namen enthalten.
Ich "bastel" an einer Lösung für die Berlin,Hamburg,München,... Datei MIT den Wohnungen!, da deine neue, gezeigte Datei wieder ganz neue Infos enthält....das hat mich irritiert
Ciao erst mal
Thorsten
AW: jemand anders darf auch bitte, weil....
18.07.2016 23:37:32
Rafa
Hi Thorsten,
Ich danke dir! Dann werde ich auf deinen Post warten. Wenn ich dann auch schon weitergekommen bin, poste ich das darunter.
Beste Grüße
Rafa
Anzeige
Lösung = hier, aber...
19.07.2016 08:44:50
Oberschlumpf
Hi Rafa
...gleich ein Schönheitsfehler, den ich erwähnen muss.
Zuerst mal, mein neuer Ansatz (nur Code, ohne Formeln) scheint nun seinen Zweck zu erfüllen.
Es ist egal, welche Stadt, Wohnung, Etage, usw du auswählst.
Nach Klick auf den Button wird die Hilfstabelle immer entsprechend aktualisiert.
Aber nun der "Fehler".
Wenn du die Datei gleich öffnest, ist zwar der Autofilter aktiv, aber es ist kein Filter gesetzt.
Und wenn du nun auf den Button klickst, werden in der Hilfstabelle für ALLE Häuser "A", "B" und "C" die Kriterien "+,-,o,x,leer" ausgelesen - egal - für welchen Ort - da ja alle Orte angezeigt werden.
Das liegt aber am Hilfstabellenaufbau, da es diese ja nur einmal gibt.
Aber ok, ist nur ein Schönheitsfehler.
Wenn du nun nach einem Ort filterst, z Bsp Berlin, werden nur noch die genannten Kriterien für die Häuser gezählt, die es in Berlin gibt.
Hier nun die Datei:
https://www.herber.de/bbs/user/107096.xlsm
Funktioniert es denn nun in der Bsp-Datei so, wie gewünscht?
Ciao
Thorsten
Anzeige
AW: Lösung = hier, aber...
19.07.2016 11:27:51
Rafa
Hi Thorsten,
die Lösung ist super! Der "Schönheitsfehler" stört mich überhaupt nicht, damit kann ich ohne Probleme leben :)))
Den Code werde ich ersteinmal zerlegen, um ihn vollständig zu verstehen :D
Ich habe nebenbei auch eine Lösung für die andere Datei gefunden. Der Code beinhaltet viele Schleifen und ist vielleicht nicht auf höchstem Niveau, aber es klappt auch fast! alles :)
https://www.herber.de/bbs/user/107098.xlsm
Hierbei könnte ich deine Hilfe nocheinmal benötigen, denn ich habe auch einen kleinen großen Schönheitsfehler :P
Wenn du meine Datei öffnest und in der zweiten Tabelle auf "Ausführen" klickst, erscheint eine Abfrage, nach der gefiltert werden soll. Hier ist mein Problem. Wenn ich das über den Button ausführe, ist der Filter und somit auch die Auszählung falsch. Habe ich aber die dritte Tabelle mit den Daten ("Hilfstabelle") geöffnet und führe den Code manuell aus, wird der richtige Filter gesetzt und die Auszählung ist korrekt.
Der Fehler liegt meiner Meinung nach in der Erstellung der ComboBox bzw. dem Code, aus dem die Daten gezogen werden, also in den Userformen (Userform2_Bereichsabfrage).
Ich wäre dir echt dankbar, wenn du da mal einen Blick draufwerfen könntest. Wahrscheinlich ist es nur eine Kleinigkeit, die ich nicht beachtet habe.
Beste Grüße
Rafa
Anzeige
AW: Lösung = hier, aber...
19.07.2016 11:34:33
Oberschlumpf
Hi Rafa
zuerst mal, es freut mich, dass mein letzter Versuch erfolgreich(er) war :-)
Was deine neue Frage betrifft, möcht ich dich bitten, einen ganz neuen Thread zu eröffnen (wenn du denn denkst, dass dein Ansatz besser ist als meiner - was auch völlig ok wäre!).
Denn ohne neuen Thread wäre ich weiterhin der Einzige, der helfen würde....das hat sich in diesem Forum fast so "eingebürgert"...selten kommt es zu Ausnahmen, bei denen dann mehrere Antworter ihr Glück versuchen.
Ich wünsche weiter viel Erfolg!
Ciao
Thorsten
AW: Lösung = hier, aber...
19.07.2016 11:38:11
Rafa
Alles klar, mache ich sofort :)
Vielen Dank nochmal!!!!
AW: Lösung = hier, aber...
21.07.2016 09:57:53
Rafa
Hi Thorsten,
leider habe ich bisher keine Antwort erhalten.. Könntest du mir vllt doch nochmal aus der Patsche helfen?
Ich glaube wirklich, dass es nur eine Kleinigkeit ist.
Hier nochmal mein Problem:
Wenn ich meine Datei öffne und in der zweiten Tabelle auf "Ausführen" klicke, erscheint zunächst eine Abfrage. Diese Abfrage kopiert erstmal die Ausgangstabelle "Daten" (Tabelle 1) in die "Hilfstabelle" (Tabelle 3). Dann wird die "Hilfstabelle" nach den abgefragten Daten gefiltert und später dann ausgezählt.
Hier ist mein Problem: Wenn ich den Code über den Button auf Tabelle 2 ausführe, ist der Filter und somit auch die Auszählung falsch. Es werden nicht die richtigen Daten in der Combobox angezeigt, also nicht die Daten, die in die "Hilfstabelle" kopiert wurden.
Habe ich aber die "Hilfstabelle" (Tabelle 3) geöffnet und führe den Code manuell aus, wird der richtige Filter gesetzt und die Auszählung ist korrekt.
Der Fehler liegt meiner Meinung nach in der Erstellung der ComboBox bzw. dem Code, aus dem die Daten gezogen werden, also in den Userformen (Userform2_Bereichsabfrage; Userform3_Hauptumfangsabfrage).
https://www.herber.de/bbs/user/107098.xlsm
Ich wäre dir echt dankbar, wenn du da mal einen Blick draufwerfen könntest. Wahrscheinlich ist es nur eine Kleinigkeit, die ich nicht beachtet habe, aber ich komme leider nicht weiter :(
Beste Grüße
Rafa

350 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige