Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1928to1932
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

Button im Formular programmieren

Button im Formular programmieren
27.04.2023 01:23:47
Oliver

Hallo ich hoffe ihr könnt mir helfen.

Aktuell wird durch ein Formular eine Person angelegt und mit den Daten eine Tabellenzeile befüllt. Am Ende der Jeweiligen Zeile soll ein Button erstellt werden, der bei click die dazugehörige Zeile löscht und alle anderen nachrücken lässt.

Bisher schaffe ich es nur das eine Schaltfläche in der Richtigen Zelle angelegt wird. Wie ich diesen Button aber umbenenne zu "CHECK" und ihm Code zuweise weiß ich leider nicht.

last = Worksheets(Tabelle).Cells(Rows.Count, 4).End(xlUp).Row + 1
With Worksheets(Tabelle).Cells(last, 10)
Call Worksheets(Tabelle).commandButtons.Add(Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button im Formular programmieren
27.04.2023 05:33:11
onur
Das ist doch Schwachsinn. Ein Makro, um ein Button in einer Zeile zu plazieren, der beim draufklicken die Zeile und sich selbst (mitsamt Makro) löscht ???
Wieso löschst du die Zeile nicht so, wie es jeder andere auch tun würde?


@onur: mein Empfinden
27.04.2023 08:04:52
MCO
Hallo Onur!

Ich schäzte deine Beiträge im Forum sehr und finde es gut, dass du mit deiner Expertise großzügig bist.
Leider empfinde ich das bei dem Beitrag in dieser Diskussion nicht so:

Bei neuen Mitglieder in Forum wir schonmal eine gewisse Etikette verlangt, Anrede, Hallo, Guten Tag, vielen Dank usw. Das vermisse ich hier, weil es das Lesen angenehmer macht.
Unangenehm und unangebracht sind Aussagen wie: "Das ist Schwachsinn", selbst wenn es für uns erfahrene Excel-Anwender so ist. Fragesteller haben nun mal nicht immer Ahnung und manchmal ist der Blickwinkel falsch. Die schreiben ja nicht umsonst hier rein. Falschen Ansätzen und Gedankengängen kann man sicher auch anders begegnen.

Bitte versteh mich richtig: Wir sind alle erwachsen und können uns auch auf Augenhöhe begegnen. So wie man nicht jeden Gedanken ausspricht muss man auch nicht alles ungefiltert ins Forum schreiben.

Gruß, MCO


Anzeige
AW: @onur: mein Empfinden
27.04.2023 09:48:18
Oliver
Hallo Onur.

Kann natürlich sein, dass es schwachsinnig ist und viel einfacher geht. Dahingehend fehlt mir aber die Idee dafür. Ich könnte natürlich einen Button nutzen der eine bestimmte Zeile löscht und die anderen nachrücken lässt. Trotzdem stehe ich dann vor dem Problem das der Button schon vorher programmiert sein muss. Das komplette Tabellenblatt wird durch einen Button erzeugt. Also beim erzeugen der Tabelle muss auch der Button erzeugt werden. Zusätzlich will ich beim Zeile löschen noch das Ergebnis eingeben und auf ein anderes Tabellenblatt übertragen. Dachte aber das es keine Rolle spielt.


Anzeige
AW: Button im Formular programmieren
27.04.2023 09:56:12
Rudi Maintaire
Hallo,
Code per Code zu erstellen ist relativ kompliziert und erfordert, dass dem Zugriff auf das VBA-Projekt vertraut wird, was standardmäßig nicht der Fall und obendrein vom Rechner abhängig ist.

Erstelle dir ein Musterblatt mit dem Löschbutton und dem zugehörigen Code und kopiere dieses wenn du ein neues Blatt benötigst.

Gruß
Rudi


AW: Button im Formular programmieren
28.04.2023 09:40:50
Daniel
Hi
nimm keine ActiveX-Buttons, sondern Formularsteuerelementbuttons.
diese haben keinen Eigenen Code, sondern man kann ihnen ein Makro aus einem allgemeinen Modul zuweisen. das geht über das Kontextmenü oder den Befehl ActiveSheet.Shapes("Buttonname").OnAction = "Makroname"
Wenn du aber einen Vorlagebutton hast, den du kopierst und einfügst, wird diese Verknüpfung automatisch mit übernommen.

Wenn nun alle Buttons das gleiche Makro haben, wie kann es dann wissen, welche Zeile gelöscht werden soll?
das geht auch einfach. man kann in diesem Makro das Objekt ermitteln, welches das Makro ausgelöst hat und darüber bestimmen, in welcher Zelle und Zeile es sich befindet:

ActiveSheet.Shapes(Application.Caller).TopLeftCell.EntireRow.Delete
wobei Application.Caller der Name des aufrufenden Buttons ist.

Gruß Daniel


Anzeige
AW: Button im Formular programmieren
05.05.2023 01:05:41
Oliver
Hi Daniel,

vielen vielen Dank. Das hilft mir wirklich weiter! Und Danke für die einfache Erklärung.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige