Anzeige
Archiv - Navigation
1748to1752
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

Veränderbare größe des Eingabebereichs

Veränderbare größe des Eingabebereichs
07.04.2020 15:35:24
L
Hallo. Hab eine etwas kompliziertere Frage zu Excel.
Ich habe eine liste in der y und z werte eingetragen werden können um damit statische Berechnungen durch zu führen(Diese liste hat platz für 3 bis 40 Punkte). Jedoch ist es wichtig für die Formeln zu wissen wie viele Punkte eingegeben wurden. Deswegen habe ich über dieser liste ein Eingabefeld eingerichtet in der die Anzahl der Punkte zu beginn eingegeben wird. Dort können die Zahlen 3-40 eingegeben werden.
Jetzt zu meiner frage:
Wie schaffe ich es dass wenn ich die anzahl der Vorgegebenen Punkte auf z.b. "n" verändere, alle y und z werte die "n+1" sind auf null gesetzt werden? Dies soll jedoch nicht nur in einer Nebentabelle passieren sonder wirklich im Eingabefeld. Es muss auch weiterhin möglich sein in eben diese Eingabefelder neue werte einzugeben, es darf sich also die Formel nicht in diesen Zellen befinden.
Wie in diesem bild zu sehen sind derzeit 8 punkte ausgewählt desswegen sind ab punkt neun alle y un z Werte 0. Wenn jetzt jedoch nur mehr 7 punkte ausgewählt wurden sollen auch beide werte von Punkt 8 auf null gesetzt werden. Wenn die Anzahl jedoch wieder auf 8 erhöht wird soll keine Formel in den eingabefeldern stehen so dass einfach neue werte eingegeben werden können.
Userbild

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Veränderbare größe des Eingabebereichs
07.04.2020 15:38:34
Torsten
Hallo,
ich denke, ohne Hilfsspalte nur mit VBA. Nicht 100% sicher, da ich nicht so fit mit Formeln bin. Aber normal muss die Formel in der Zelle stehen.
Ohne Fml in den betroffenen Zellen ...
07.04.2020 19:36:06
Luc:?
…geht so etwas tatsächlich nur mit Fernübertragung, LG,
was normalerweise nur per VBA-Ereignismakro fktioniert, da so etwas ZellFmln und Fktt in ihnen verboten ist. Es gibt aber eine Umgehungsmöglichkeit dieses Verbots per Xl-Fkt HYPERLINK, deren Prinzip ich einst in einem ProzedurPaar aus einer UDF als Auslöser und einer von der UDF ausgelösten Subprozedur umsetzte. Im Prinzip ist das wohl der Auswerten-Methode geschuldet, die hier zu einer physischen Trennung von UDF und Subproz führt, so dass Letztere nicht mehr als Bestandteil einer ZellFml erscheint. Damit würde dann nur eine Hilfszelle benötigt, die die Fml enthält, zB D6. Deren Fml lautet dann so:
=SendTo(INDEX(C10:D36;VERGLEICH(D5;B10:B36)+1;1):INDEX(C10:D36;ZEILEN(B10:B36);2);D4)
Hierbei wird der Inhalt von D4 auf alle Zellen C:D nach der Zeile, in der B mit D5 übereinstimmt, übertragen. Das kann wie in deiner Bsp-D4 auch leer sein. Soll es unbedingt 0 sein, muss in D4 (oder einer anderen 2.Hilfszelle) eine 0 eingetragen wdn. Die UDF reagiert auf alle Änderungen auf dem Blatt, die die Werte der innerhalb der UDF aufgeführten Zellen betreffen, also nicht nur D5. Deshalb muss bei geplanter Erweiterung des einzubeziehenden Bereichs zuerst D5 entsprechend erweitert wdn, sonst wdn die erweiternden Eingaben sofort wieder gelöscht. Mehr C:D-Zeilenwerte als von D5 vorgegeben, können also niemals eingetragen wdn.
Natürlich kann aber auch ein Ereignismakro geschrieben wdn, dass direkt und nur auf Änderungen von D5 reagiert. Das ist nicht kompliziert und leicht zu bewerkstelligen, wenn man sich darin einliest.
Link zum UDF-SubProzPaar im hiesigen Archiv:
https://www.herber.de/forum/archiv/1696to1700/1699633_Dateien_automatisch_oeffnen_fuer_Indirekt.html#1699889
Falls das verwendet wdn soll und nicht zufriedenstellend fktioniert, melden!
Noch ein Hinweis: Das nächste Mal besser eine BspDatei hochladen, kein Bild!
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
Man könnte das Ganze aber wg des Vorlaufs ...
09.04.2020 22:01:26
Luc:?
…der Eintragung in D5 auch erweitern, so dass beim Einschränken des Bereichs zwar weiterhin gelöscht wird, bei seiner Erweiterung aber in den dafür (lt D5) vorgesehenen (bisher leeren) Zellen ein TextHinweis erscheint, der allerdings auch in einer (anderen) Hilfszelle „geparkt“ wdn müsste. Die Fml würde dann so lauten (D2: leere Hilfszelle, D4: Text neuer Wert oder nach Wunsch):
=WENN(ANZAHLLEEREZELLEN(C10:INDEX(C10:D36;VERGLEICH(D5;B10:B36);2));
SendTo(INDEX(C10:D36;VERGLEICH(D5;B10:B36)-ANZAHLLEEREZELLEN(C10:INDEX(C10:D36;
VERGLEICH(D5;B10:B36);2))/2+1;1):INDEX(C10:D36;VERGLEICH(D5;B10:B36);2);D4);
SendTo(INDEX(C10:D36;VERGLEICH(D5;B10:B36)+1;1):INDEX(C10:D36;ZEILEN(B10:B36);2);D2))
Das setzt natürlich voraus, dass die Leerzellen nur im Block ab der Zeile nach den letzten alten Werten auftreten (was mit leerer Hilfszelle D2 erreichbar ist) und nicht zwischendurch Zellen leer sind (in Einzelzellen ggf wie im Bsp 0 eintragen!).
FroTrutzOst, Luc :-?
Anzeige
AW: Veränderbare größe des Eingabebereichs
08.04.2020 09:17:33
Daniel
Hi
Du könntest das so machen:
Blende über die Bedingte Formatierung alle Werte aus, die außerhalb des gewählten Eingabebereichs liegen.
Die Regel wäre:

=(Zeile()-9)>D$5$

Als Format benutzt du das benutzerdefinierte Zahlenformat ;;; oder \0 und ggf eine andere Hintergrundfarbe.
Damit eventuell vorhandene Werte nicht in die Berechnung eingehen, musst du den Bezug auf den Bereich C10:C49 durch diesen Ausdruck ersetzen: Bereich.Verschieben(C10;0;0;D5;1) oder durch C10:Index(C10:C49;D5)
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige