Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Abfrageschleife ohne VBA
#1
Guten Tag zusammen Smile

Nachdem ich nun ein wenig an einem Excel Dokument gebastelt habe bin ich nun an einen Punkt gekommen, wo mein Excel Wissen zu Ende geht. An dieser Stelle weiß ich auch nicht mehr, wie ich so was Google, weil es etwas speziell ist  Blush

Ich habe ein Datenblatt mit einer Liste. Sagen wir dort steht z.B. das Nato-Alphabet drin (Alpha, Bravo, Charlie etc...)
Jetzt kann man rechts davon ein Haken in zwei Checkboxen machen, ähnlich einem "Ja" "Nein".

Nun möchte ich folgendes gerne erreichen:

Wenn der Nutzer seine Kreuze setzt sollen genau diese Punkte (Alpha, Charlie ...) auf einem anderen Datenblatt in sagen wir Zelle A1, A2, A3 usw erscheinen, also sozusagen eine Zusammenfassung der auf den Listenblatt ausgewählten Punkte.
Wie bekomme ich das hin, dass hintereinander der Wahrheitswert geprüft wird (Checkbox gibt ja einen Wahrheitswert aus mit dem ich ohne VBA arbeiten kann) und dann die jeweiligen Punkte, die gekreuzt sind auf dem anderen Datenblatt untereinander erscheinen?

Danke für die Hilfe und ich hoffe ich konnte es soweit einigermaßen gut beschreiben Smile
Antworten Top
#2
Weil ich beim Durchlesen selber merke, dass es vielleicht etwas schwer zu durchblicken ist was ich möchte, habe ich mich entschieden es zu verdeutlichen :)

Listenblatt:

Pizza Checkbox_1 Checkbox_2
Pasta Checkbox_3 Checkbox_4
Suppe ...
Pommes ...
Eis ...

Zur vereinfachten Darstellung wollen wir annehmen, dass Checkbox_1 eine einfache Portion und Checkbox_2 eine doppelte Portion ist.
Der Nutzer kann also entscheiden sich doppelte Pasta zu holen und vielleicht noch einfache Portion Pommes. Die anderen Checkboxen würden FALSE bleiben.

Das Datenblatt "Zusammenfassung" würde dann wie folgt aussehen:
     A           B
1 Pasta       2-mal
2 Pommes  1-mal

Wichtig sind mir die Einträge Pasta und Pommes... Was genau dahinter noch erscheint kann ich selbst noch basteln :D
Bis hierher wäre ich erstmal froh ^^
Antworten Top
#3
Hi

ein wenig Raten bleibt es noch. Meinst du die Richtung.

____|_A_|____B____|____C____|_D_|_E_|____F____|_G_|_H_|
   1|   |einfach  |doppelt  |   |   |Anzeige  |A  |  1|
   2|A  |     WAHR|   FALSCH|   |   |         |C  |  1|
   3|B  |   FALSCH|   FALSCH|   |   |         |D  |  2|
   4|C  |     WAHR|   FALSCH|   |   |         |   |   |
   5|D  |   FALSCH|     WAHR|   |   |         |   |   |

G1   =WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(($B$2:$B$40)+($C$2:$C$40);ZEILE($A$2:$A$40));ZEILE(A1)););"")       'mit strg+shift+Enter abschliessen

H1   =WENNFEHLER(SUMMENPRODUKT({1.2}*INDEX($B$2:$C$40;VERGLEICH(G1;$A$2:$A$40;0);));"")

Gruß Elex
Antworten Top
#4
Hi,

hier mal ein Ansatz:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEF
1ArtikelEinfachDoppelt
2PizzaWAHRFALSCHPizzaEinfach
3PastaFALSCHFALSCHSuppeDoppelt
4SuppeFALSCHWAHREisEinfach
5PommesFALSCHFALSCH
6EisWAHRFALSCH

ZelleFormel
E2=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE($A$2:$A$6)/(($B$2:$B$6=WAHR)+($C$2:$C$6=WAHR)>0);ZEILE(A1)));"")
F2=WENNFEHLER(INDEX($B$1:$C$1;VERGLEICH(WAHR;INDEX($B$2:$C$6;VERGLEICH(E2;$A$2:$A$6;0););0));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

in B2:C6 befinden sich Kontrollkästchen (werden hier nicht dargestellt).
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Danke bis hierher!

Ich denke, dass beide Formeln funktioniert hätten, habe mich jedoch jetzt für Elex seine entschieden (einfach weils die erste war :D)
Musste zwar $ bei "[...]INDEX($A$1:$A$99[...]" setzen, aber jetzt tut es, was es soll.

Jetzt habe ich jedoch bemerkt, dass es ein weiteres "Problem" gibt.
Sagen wir anstatt "Einfache" und "Doppelte" Portionen soll der Nutzer auswählen können zwischen
"Lesen", "Schreiben" und "Archivar" - Also Netzlaufwerkberechtigungen z.B.

Der Aufbau ist derselbe nur mit einer Checkbox mehr.
Jetzt soll die Ausgabe jedoch z.B. wie folgt aussehen soll:

Laufwerk    Schreiben  Lesen  Archivar
F:\Eins             x                      x
F:\Zwei                          x         
F:\Drei             x                                        

Also soll je nachdem wo "WAHR" steht auch das jeweilige Feld "x" sein. Mit WENN klappt das leider nicht (wäre ja auch zu einfach), weil der Bezug zu dem jeweiligen Laufwerk fehlt und dann, wenn der Nutzer sich nach dem "x" wieder umentscheiden und es "wegixen" sollte das "x" nicht mitwandert, wenn ihr versteht was ich meine.
Wie kann ich so einen Bezug herstellen und das realisieren? Müsste ja ähnlich wie INDEX... funktionieren, oder?

Vielen Dank für die Hilfe und ein tolles Forum :)
Antworten Top
#6
Hi

____|____A___|____B____|___C__|____D___|E|F|____G___|_____H____|___I___|____J____|
   1|Laufwerk|Schreiben|Lesen |Archivar| | |Laufwerk|Schreiben | Lesen | Archivar|
   2|F:\Eins |     WAHR|  WAHR|  FALSCH| | |F:\Eins |x         |x      |         |
   3|F:\Zwei |   FALSCH|  WAHR|  FALSCH| | |F:\Zwei |          |x      |         |
   4|F:\Drei |   FALSCH|FALSCH|  FALSCH| | |F:\Vier |x         |       |x        |
   5|F:\Vier |     WAHR|FALSCH|    WAHR| | |        |          |       |         |

G2    =WENNFEHLER(INDEX(A:A;KKLEINSTE(WENN(($B$2:$B$40)+($C$2:$C$40)+($D$2:$D$40);ZEILE($A$2:$A$40));ZEILE(A1)););"")      'mit shift+strg+Enter abschliessen

H2    =WENNFEHLER(WENN(SVERWEIS($G2;$A$2:$D$40;SPALTE(B1);0);"x";"");"")   'nach rechts und unten kopieren

Gruß Elex
Antworten Top
#7
edit: Hat sich erledigt Smile
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste