habe schon wieder ein Problem mit meiner Tabelle.
Ist es möglich, jeweils bei Eingabe eines Wertes die Spaltenüberschrift auszulesen?
Konkret:
Überschrift B18:Y18
habe schon wieder ein Problem mit meiner Tabelle.
Ist es möglich, jeweils bei Eingabe eines Wertes die Spaltenüberschrift auszulesen?
Konkret:
Überschrift B18:Y18
Ich habe als Ansatz in die Zeile 22 nochmal die Überschriften eingetragen (in nicht verbundene Zellen, also 2x je Spalte) und dann in AD mit WVERWEIS gearbeitet. Das Suchkriterium habe ich max(J19:O19) bzw (J20:O20), (J21:O21) genommen.
Zeile 22 kannst Du dann ja ausblenden.
Knud
deinen Ansatz verstehe ich leider nicht wirklich. WVerweis durchsucht m.E. eine Zeile durchsucht die erstele Zeile der Matrix und gibt den den Wert der darunterliegenden Spalte zurück. Ich wüsste jetzt gar nicht, wie ich das in meiner Tabelle nutzen könnte. Ziel ist es ja die jeweilige Überschrift in die Spalte AD zu schreiben, wenn ein Wert in der Spalte eingetragen wird.
Hab ich jetzt ein Brett vor'm Kopf?
Gruss
Kirsten
Knud
das mit der Gültigkeitsprüfung funktioniert super. Jetzt muss ich nur noch zusehen, dass ich das für den gesamten Datenbereich hinkriege (B19:Y10000). Hoffentlich sprengt das jetzt nicht endgültig meine Tabelle. Ist ohnehin schon so langsam.
Kann ich evtl. diese Gültigkeitsprüfung auch in ein Makro einbauen erst aktivieren, wenn z.B. ein Datum (B19) eingegeben wird?
Gruss
Kirsten
Du hast recht mit der Aussage über WVERWEIS. jedoch gibt WVERWEIS den Wert einer definierten Zeile unterhalb des Suchkriteriums wieder... nämlich den aus der Zeile, der per Zeilenindex definiert wird. Leider kann WVERWEIS auch nur nach unten schauen. Deswegen habe ich die Überschriften (Bausparen, LV/...) auch unter der Tabelle wiederholt. Mein WVERWEIS sucht nun eine nicht leere Zelle in meinem Beispiel mit MAX() als Suchkriterium und wirft die Überschrift, die unter der Tabelle wiederholt wird als Treffer aus.
Schreib einfach mal in AD19 folgende Funktion:
=WVERWEIS(MAX(J19:O19);$J$19:$O$22;4;FALSCH)
hinein und wiederhole in Zeile 22 nochmal die Überschriften (ohne Zellen zu verbinden -> Jede Überschrift 2x). Du wirst sehen, das Deine Überschriften ausgeworfen werden.
Zeile 22 kannst Du wie gesagt ausblenden.
Fragen?
Knud
Kann jetzt zwar deine Formel nachvollziehen, aber ausgelesen wird da nichts.
Was bewirkt eigentlich in dieser Formel die MAX-Funktion?
Gruss
Kirsten
Die MAX()-Funktion ist das Suchkriterium. Ich muss irgendwie herausbekommen, in welcher Zelle die Zahl eingetragen wurde. Da je Zeile innerhalb der Matrix nur ein Wert eingetragen werden kann, kann ich ohne Bedenken mit MAX() arbeiten, da dieser Wert automatisch dann auch der Größte ist. Suchkriterium ist dann der einzige existierende Wert in der Zeile.
Knud
Aber auf jeden Fall lieben Dank für Deine Hilfe.
Vielleicht schaut ja noch mal ein VBA-Profi in diesen Thread.
Gruss
Kirsten
Ausserdem werden in der Spalte schon mehrere Werte eingetragen; lediglich in einer Zeile soll nur ein einziger Wert eingetragen werden. In meinem Thread habe ich nur einen Auszug aus der Tabelle dargestellt und mit Konkret auf den tatsächlichen Datenbereich hingewiesen. Dachte ich zumindest.
Klappt dann leider wohl doch nicht.
Bin aber trotzdem froh, dass ich noch nicht total durchdrehe ;-)
Dann also auch hier wahrscheinlich eine Frage für unsere VBA-Götter.
Danke noch mal!
Gruss
Kirsten
im Datenbereich gibt Du einen Wert ein. Das hab ich noch verstanden, aber was soll mit der ausgelesenen Spaltenüberschrift passieren? Wo soll sie ausgegeben werden?
Gruß
Peter
ausgegeben werden soll sie in der gleichen Zeile (in der auch der Wert steht), aber in Spalte AD.
Also das Ergebnis soll so aussehen, die mein Tabellenauszug. Nur habe ich da die Überschriften in der Spalte AD von Hand eingegeben.
Die Spalte AD benötige ich als Hilfsspalte für nachfolgende Berechnungen, die wiederum von den einzelnen Sparten abhängig sind.
Verständlicher?
Gruss
Kirsten
Knud
Muss jetzt leider auch weg...probier's morgen früh noch mal mit klarem Kopf.
Töööös
Kirsten
Bitte nicht wundern, wenn ich jetzt nicht mehr antworte. Muss leider dringend zum Doc und sitze hier schon auf heissen Kohlen.
Morgen früh bin ich als erstes wieder hier im Forum.
Tööös
Kirsten
=INDEX(A18:O18;SUMME((J21:O21>0)*SPALTE(J21:O21)))
mit Strg+Umschalt+Eingabe
abschließen...
Gruß HW
vielen Dank für die Formel. Leider funktioniert sie auch nicht richtig bei mir. Zum einen verursacht die Auswahlliste in Spalte N einen #Bezug-Fehler; zum anderen werden nicht alle Spalten ausgelesen. Kann das evtl. mit leeren Zellen in der Spalte zu tun haben?
Gruss
Kirsten
So weit wie ich das festgestellt habe, mag deine Formel nicht die verbundenen Zellen in der Überschrift. Da faktisch die Überschrift z.B. in J18 steht und der Betrag in K20 bekomme ich als Ergebnis eine Null.
Habe dann die Verbindung der Überschriften getrennt und in beide Spalten (J und K) eine identische Überschrift eingegeben. Und - siehe da - es funktioniert!
Allerdings, sobald ich versuche, die Formel runterzukopieren, verabschiedet sich Excel gänzlich ?!?!?!?
Habe es jetzt schon in einer neuen Tabelle versucht, aber auch da schmiert Excel ab, sobald ich versuche die Formeln zu kopieren.
Verzweifel hier langsam. Hast Du vielleicht noch eine Idee?
Gruss
Kirsten
Beim Kopieren von Array-Formeln hatte ich auch mal XL-Abstürze. Ich hab dann einfach die Standard-Formel kopiert und nachträglich arrayisiert - war aber eine sehr komplexe Tabelle mit einkopierten Zellenbereichen.
Gruß HW
das mit der Überschrift hatte ich schon angepasst.
Aber wie arrayisiert man nachträglich Standard-Formeln?
Übrigens: meine Tabelle ist mittlerweile nicht mehr komplex, sondern eher gigantisch ;-)
Gruss
Kirsten
Gruß HW
die Ursache für gigantische Tabellen liegt in der Regel darin, dass man versucht immer mehr Funktionalität in *eine* Tabelle zu implementieren. Irgendwann sollte der Punkt kommen an dem man die Informationen auf mehrere Tabellen verteilt, was leider bedeutet, alle Formeln/Makros anpassen zu müssen. Aber lieber ein Ende mit Schrecken als ein Schrecken ohne Ende. ;)
Gruß
Peter