Befehlsschaltflächen + Codeautomatisch erstellen

Bild

Betrifft: Befehlsschaltflächen + Codeautomatisch erstellen
von: VBAnfänger
Geschrieben am: 31.07.2015 20:22:46

Hallo liebe Excel-Gemeinde,
ich möchte mich zu Anfang kurz vorstellen. Ich bin Matthias, 29 Jahre und mache öfter mal etwas mit Excel und VBA. Nun habe ich mir selbst eine Mammutaufgabe gestellt, bei der ich hier gern Ünterstützung hätte, um selbst zu lernen, alles richtig zumachen und vernünftig vorzugehen. Würde mich freuen, mit eurer Hilfe ein paar große Schritte voran zu kommen.
Auch kenne ich die Aussagen, es sei mit VBA nicht möglich objektorientiert zu programmieren. Nun, ich sehe das, wie ich schon oft sehen konnte, etwas anders. Soweit bin ich aber noch nicht und bin in objektorientierter Programmierung nicht sehr erfahren.
Zum Projekt:
Es geht um ein Excel-Sheet, mit dem ich meine Tätigkeiten erfassen kann. Dazu gibt es folgende Angaben:
Sheet Eintragung

  • Datum

  • Datum als Tag (TTTT)

  • Thema

  • Tätigkeit

  • Start (Uhrzeit)

  • Ende (Uhrzeit)

  • Std (Ende - Start)

  • Hilfsspalte

  • PT (berechnet durch Start, Ende und Hilfsspalte)


  • Zusätzlich noch ein Date Picker-Element zur Auswahl des Datums. (Um auch Tätigkeiten nachtragen zu können)

  • Weiterhin eine Auflistung der Themen pro Zeile und nach dem Thema jeweils eine variable Menge von Befehlsschaltflächen.

  • Sheet Stammdaten
    Bereich 1:
    dort habe ich eine Tabelle erstellt.
  • Spalte 1: Auflistung aller Themen

  • Spalte 3-12: Auflistung von Tätigkeiten

  • Bereich 2
    Dort werden die Tätigkeiten als Beispiel eingetragen.
  • Thema 2 - Tätigkeit 4 = Vorauswahl an Parametern

  • vorbereitung - Recherche = 31.07.15, Freitag, Recherchieren von Fachliteratur, 14 Uhr, 16 Uhr, 2 Std (als Formel), Hilfszeile (als Formel), Berechnung der PT (als Formel)

  • Sheet Tätigkeiten

  • Dort erfolgt eine Eintragung aller Tätigkeiten, die im Sheet Eintragung erfolgt sind.
    Nun zum Vorgehen:
    1. Ich möchte im Sheet Stammdaten in Bereich 1 Themen und Tätigkeiten eintragen. Das sind die manuellen Eingaben.
    2. In Bereich 2 erfolgt eine erste Vorauswahl von Tätigkeiten, in Abhängigkeit von Themen und Tätigkeiten (Pro Thema & Tätigkeit eine Zeile). Ebenfalls manuelle Eingaben.
    3. a) Nun reicht es mit der manuellen Eingabe. :D Per Makro sollen nun anhand der Tätigkeitstabelle (Bereich 2) im Sheet Eintragung in einer Spalte die Auflistung aller in Bereich 1 eingetragenen Themen erfolgen und hinter jedem Thema Buttons pro hinterlegte Tätigkeit erstellt werden.
    3. b) Alle notwendigen Stammdaten sind vorhanden. Alle notwendigen Buttons wurden erstellt.
    4. Für jeden Button (übrigens mit passendem Namen erstellt) soll nun im VBA-Code des Sheets ein Click-Event erzeugt werden, das eine Funktion Eintragung erzeugt und dabei den Namen des Buttons übergibt (Danach wird im Anschluss in Bereich 2 nach vorselektierten Tätigkeiten gesucht). Ich nehme an, dass sich hier definitiv eine Klasse Button eignen würde, da es sich jedesmal um das gleich Objekt mit abweichenenden Parametern handelt (Ausrichtung von oben und links, Caption, Name).
    5. Bei einem Click auf einen Button erfolgt mit den Parametern Datum, Button-Name ein Aufruf der Funktion Eintragung, der in Zeilen weiter unten die Tätigkeiten einträgt. Diese werden im Anschluss in das Sheet Tätigkeiten übertragen.
    So, das wars zu meinem Projekt. Nun meine alles entscheidende Frage. Wer hätte Lust, mich hier zu unterstützen und mir dabei zu helfen zu lernen und VERNÜNFTIGE Excel-Anwendungen (möglichst objektorientiert) zu erstellen?
    Kurzer Hinweis: Da ich viel arbeite, werde ich sicherlich nicht täglich 5 mal Fragen. Auch reichen mit Anweisungen/Tipps, den Rest (Umsetzung) übernehme ich selbst, bis Kritik kommt.
    Das wars mit meinem Roman. Ich wünsche allen einen schönen Freitag Abend, einen tollen Start ins Wochenende und schöne Erholung von Arbeit und Schule!
    LG,
    Matthias

    Bild

    Betrifft: AW: Befehlsschaltflächen + Codeautomatisch erstellen
    von: Beverly
    Geschrieben am: 01.08.2015 09:03:21
    Hi Matthias,
    ich nehme an, der Name des erstellten Buttons entspricht auch dem Inhalt einer Zelle in der relevanten Zeile?
    Ich würde generell anders vorgehen: keine Button erstellen sondern einfach das Doppelklick-Ereignis des Tabellenblattes nutzen.




     Bild

    Beiträge aus den Excel-Beispielen zum Thema "Befehlsschaltflächen + Codeautomatisch erstellen"