none
Excel: Aufsummierung von Werten abhängig von Markierung im Kontrollkästchen RRS feed

  • Frage

  • Hallo,

    ich habe ein Bestellformular mit verschiedenen Positionen, deren Bestellung einmalige oder monatliche Kosten erzeugen.

    Die einmaligen und  die monatlichen Summen sollen am Ende des Formualrs aufgelistet werden.

    Meine Idee Zur Realisierung ist nun, das Kontrollkästchen, den Preis und die Bezahlart in einen benannten Bereich zu packen und nach Änderung des Zustands des Kontrollkästchens ein Makro zustarten, das den jeweils relevanten Bereich nach Preis und Bezahlart durchsucht und den Endwert in den Summenfeldern entsprechend anpasst.
    Ist das so machbar und kann ich feststellen, in welchem benannten Bereich das veränderte Kontrollkästchen liegt?
    Oder hat jemand eine bessere Idee, wie ich das mit möglichst einmaligem Aufwand realisieren kann?
    Hier ein Beispiel für eine Bestellposition:

    Bin für jeden Tipp dankbar.

    Gruß

    cheapy

    Freitag, 7. September 2018 12:51

Alle Antworten

  • Versuchs mal damit:

    https://support.office.com/de-de/article/summewenn-funktion-169b8c99-c05c-4483-a712-1697a653039b

    Freitag, 7. September 2018 13:48
  • Hallo,

    ja, die SummeWenn Funktion kenne ich aber ich befürchte ber der Menge an Positionen wird das unübersichtlich und macht die Pflege des Dokuments nicht gerade einfach.
    Daher bin ich auf die Idee mit den benannten Bereichen bekommen.
    Die Idee war ja, dass ich einfach den gerade aktuellen Bereich durchsuche und dann die notwendige Berechnung durchführe.
    Dazu müsste ich halt herausfinden können in welchem benannten Bereich ein gerade verändertes Kontrollkästchen liegt.

    Gruß

    cheapy

    Montag, 10. September 2018 06:25
  • Ich denke, da du ja von Steuerelementen ausgehst, dass du hier nur per VBA und Events (Prozeduraufruf bei Klick aufs Kästchen) mit den Berechnungsmethoden weiterkommst.

    Statt Kästchen kann man auch einen Wert (leer/0 oder 1) in die Zelle eintragen. Dann schlägt der Automatismus der Neuberechnung von Zellwerten bei Zelländerungen zu.
    Montag, 10. September 2018 07:53
  • So, ich habe jetzt einen Lösungsansatz der zwar funktioniert aber noch Mängel hat.
    Um es detailierter zu beschreiben mache ich folgendes:
    Die Klickboxen werden einer Zelle zugewiesen, diese und weitere Zellen, die die Beschreibung, den Betrag und die Bezahlart (letztere müssen hintereinander stehen) fasse ich zu einem benannten Bereich zusammen.
    In einem Lauf über alle Klickboxen ermittle ich bei gesetztem Häkchen deren Position, danach prüfe ich ob die Box zu einem benannten Bereich gehört. Wenn dem so ist prüfe ich ob der Bereich eine Zelle mit der Bezahlart enthält. Aus der Zelle vor der Bezahlart entnehme ich den Wert und addiere den zu einer zur Bezahlart gehörenden Variable.

    Nun zu den Problemen:

    • in der Zelle mit der Klickbox, in der auch die Beschreibung steht, wird diese mit dem neuen Status der Klickbox überschrieben, wenn ich deren Wert ändere.
    • Befindet sich eine Zelle in mehreren Bereichen, wird der alpahbetisch erste zurück gegeben, was problematisch sein kann
    • wird der Wert einer Klickbox verändert, habe ich noch keinen Weg gefunden den Namen der Klickbox zu ermitteln. Das ist der Grund, weshalb ich die Summenfelder nicht nach jeder Veränderung aktualisieren kann. Eine Komplettberechnung dauert mir dann doch zu lange.

    Das gravierendsde Problem ist das Überschreiben des Beschreibungstextes, hat jemand eine Idee, wie ich das unterdrücken kann?

    Der Rest lässt sich organisatorisch so einigermaßen umgehen.

    Gruß

    cheapy

    Montag, 10. September 2018 12:28
  • Wofür benötigst du den Namen der Klickbox wenn sie doch mit einer Zelle verbunden ist?

    An deiner Stelle würde ich mich da eher mal um VBA und Forms-Objekte kümmern. Diese lädst du per VBA mit deinen Informationen aus den Zellen, lässt den User dann editieren und klicken und bei OK scheibst du alles in Sheet zurück.

    Alternativ klingt dies eher nach einer Anwendungsprogrammierung.
    Hier bietet sich durchaus VisualStudio Express/Community ggf. in der VB-Version mit Office-Interop an.
    Dann kannst da das ganze als AddIn konzipieren und hast diese blöden Excel- und VBA-Probleme nicht.

    VBA-/Excelberechnungen sind kaum in der Lage anwendungsprogrammähnliche Funktionen zu ermöglichen.

    Montag, 10. September 2018 18:05
  • Von mir aus muss dif Klickbox ja auch nicht mit der Zelle verbunden sein, wenn es eine andere Möglichkeit gibt herauszufinden in welchem Bereich die Klickbox liegt, auch gut. Dafür habe ich aber noch keine Lösung gefunden.

    Dienstag, 11. September 2018 05:21
  • Nochmal: Warum überhaupt eine Klickbox?
    Reicht da nicht eine Zelle, die mit 0(oder leer)/1 gefüllt wird auf die summewenn, zählenwenn usw. Zugriff haben?
    Dienstag, 11. September 2018 08:09