• Habe ein Problem sitze gerade an Exel und möchte ganz viele Checkboxen mit leben erwecken.
    Sie sollen beim anklicken den inhalt einer Zeile auf eine andere Tabelle übertagen.
    Mann kann es sich vorstellen wie beim Online Einkauf häkchen setzen und es wird in den Warenkorb geschoben und das soll für mehre Artikel funktionieren.
    Am besten als Schleife durch die riesen Mengen an Checkboxen die ich benutze. Zur Zeit mit Aktive Steuerelemente, aber ich kann alles jederzeit ändern. Hoffe ihr könnt mir ein wenig behilflich sein.

    Gruß BerlinCity

  • Also wenn man ein häkchen setzt dann soll der Wert der in der Zeile steht auf eine andere Tabelle geschrieben werden. Mit einer Schleife dachte kann ich es umgehen das ich jede checkbox einzel programmieren muss, habe bestimmt ein paar hundert checkbox in einem projekt. Möchte nämlich ein Ersatzkatalog für den Mr2 w2 erstellen und mit setzen des häkchens soll es halt das ausgewählte teil in den Waren korb schmeißen und die gesammt summe ausrechnen.

  • Ok. Müsste aber keine schleife sein. Die Checkbox kann ja mit einer Zelle verbunden werden (gibt ein Wert Wahr oder Falsch zurück)

    So verbindet man die Zelle mit der Checkbox:
    [Blockierte Grafik: http://img692.imageshack.us/img692/2682/zellwe.jpg]

    hier die Tabelle der Preise als Referenz:
    [Blockierte Grafik: http://img692.imageshack.us/img692/681/preisetabelle.jpg]

    und zuletzt die Formel, um die Preise zu füllen:
    [Blockierte Grafik: http://img684.imageshack.us/img684/3463/formel.jpg]

  • Hallo,

    Ich hätte da mal ein paar grundsätzliche Fragen:
    -Welche Funktion(en) soll die Datei erfüllen?
    -Nur für Dich oder sollen/dürfen auch Andere daran teilhaben?
    -Ist es als Einzelplatzanwendung gedacht oder soll es im (Firmen)Netzwerk oder Inet performieren?
    -Wie sind deine Kentnisse im MS-Office-Paket?

    Ich frage weil ich vor ein paar Jahren vor einer vergleichbaren Aufgabe stand und erst nach mehrmaligem Neuanfang das gewünschte Ergebnis erzielte.

    Reicht die Formelvariante wie von mr2magic erläutert in Ihrer Funktionalität aus?
    Makros wären eine andere Möglichkeit, VBA (das auch den Makros zugrundeliegt) die elegantere, performatere und flexiblere Lösung.

    Oder, wenn sich der Datenstamm immer wieder ändert, solltest Du vielleicht auch über eine Access-Lösung nachdenken.
    Bei von Dir erwähnten "paar Hundert" Datensätzen ist das die bessere Lösung.
    Sonst kannst Du jedesmal neue Artikel anlegen (mit den jeweiligen zu programmierenden Checkboxen und evtl. Erweiterungen
    von Pulldownmenues etc.pepe), oder Preise und evtl. Rabatte an allen möglichen Stellen wieder anpassen.
    Vielleicht willst Du auch mal wissen wieviel Du pro Jahr, Auto, Teil, Lieferant...ausgegeben hast.

    Falls Du "nur" eine kleine Lösung willst um mal eben ein paar Preise zusammenzurechnen dann betrachte den oberen Teil als nicht geschrieben.
    Mir ist es nur so gegangen das man beim Infos sammeln erst merkt was man gerne noch alles implementiert hätte.

    Ansonsten könnte ich im Bereich VBA schon behilflich sein, dafür müsste ich nur Präzise wissen was wann mit welchen Daten passieren soll.
    Das entspräche dann glaube ich auch der erwähnten Schleife:
    Einen Codestring parametrisieren, jeder Checkbox zuweisen und bei Betätigung einer die entsprechenden Daten übergeben.

    CiaoForNow

    Du hast zwar wahrscheinlich recht, aber meine Meinung gefällt mir trotzdem besser... :D (Larsi, r4f)

  • Erstmal mochte ich mich bedanken, die erste möglichkeit hat mir leider nicht ganz so wie ich wollte geholfen aber sie bringt mich schön näher an mein Ziel.
    Ich habe jetzt mal ein Bild von eines der Tabellen hochgeladen.
    Ich muss das für meine UNI erstellen als ein kleines Projekt und da dachte ich mach was für den Mr2 und kann es wenn es fertig ist für euch zu Verfügung stellen.
    Ich darf leider nur mit diesen mitteln Arbeiten Excel, VB und Makros. Ändern würden sich nur die Preise, sonst eigentlich nichts.Die ideen finde aber gut nehme bestimmt später wenn alles fertig noch rein.
    Auf der Tabelle wo die ausgewählten Teile hingeschoben werden müssen sich die Artikel aus den mehren Tabellen hintereinander auflisten. Wenn ich das wie mr2magic mache dann habe ich feste Zeilenzuweisungen auf der Tabelle.
    Sorry wenn paar fehler dabei sind gucke nebenbei Boxen.

    [Blockierte Grafik: http://img138.imageshack.us/img138/6282/bsps.jpg][Blockierte Grafik: http://img138.imageshack.us/img138/bsps.jpg/1/w1021.png]

  • Hallo BerlinCity,

    Besteht die Möglichkeit das Du das bisher erarbeitete Sheet mal hochlädst oder mir zukommen läßt?
    Wenn Du das nicht willst oder darfst kann ich Dir erst mal aus dem Ärmel heraus nur ein paar allgemeine Tips darreichen:

    Wenn Du die Zellenverlinkung von mr2magic weiterverwenden willst läßt sich das auch relativ einfach per VB für alle Checkboxen des aktiven Blattes bewerkstelligen:

    Dann besteht z.B. die Möglichkeit in einer anderen Zelle über eine Wenn()-Funktion die Zelle mit den Daten auszulesen, die letzte beschriebene Zeile im geforderten Blatt zu finden

    Zitat

    Public Sub LastLine()
    Dim lngLeer As Long
    Sheets("NameDesArbeitsblattes").Select
    lngLeer = Range("A65536").End(xlUp).Row + 1
    Range("A" & lngLeer).Select
    End Sub

    und den String einzulesen.

    Schöner wäre es natürlich das Auslesen mit VB zu erledigen per "Change"-Ereignis der Checkbox

    Zitat

    Private Sub CheckBox3_Change()
    Dim strText as String
    If CheckBox1 = True Then strText=C5
    End Sub

    und dann den Wert weiterzugeben.
    Das läßt sich parametrisieren und über ein Modul Arbeitsblattunabhängig einsetzen.
    Das muß natürlich noch verfeinert werden z.B. wie wird der Eintrag wieder entfernt wenn die Checkbox abgewählt wird.
    Und was machst Du eigentlich wenn mehrere Stück/Sätze von einem Artikel in der Bestellung gewollt sind?

    Ist das die grobe Richtung wo Du hin willst oder habe ich was falsch verstanden?

    CiaoForNow

    Du hast zwar wahrscheinlich recht, aber meine Meinung gefällt mir trotzdem besser... :D (Larsi, r4f)