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

Command Button

Command Button
Ralf
Hallo Excel - Experten,
ich habe eine Excel - Datei mit 11 Tabellen. In
jeder Tabelle habe ich einen CommandButton ( mit VBA Code ).
Jeder CommandButton für sich funktioniert ganz
super.
Nun zu meinem Problem: ich möchte gerne aus der
Tabelle 1 heraus alle 11 gleichzeitig ( mit einem Klick )
auslösen oder wie kann ich die 11 zusammenfassen.
Hat hierzu jemand von Euch eine Idee ?
Nach meinen zahlreichen Fehlversuchen bin ich für jeden Tipp echt dankbar :-) - - -
Gruß
Ralf

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Command Button
30.08.2010 10:38:58
JogyB
Hallo Ralf,
ist das ein Formularbutton oder einer aus der Steuerelement-Toolbox?
Gruß, Jogy
interessante Frage...
30.08.2010 10:41:40
Oberschlumpf
...die ich vergaß zu stellen.
Ich ging von Buttons aus der Steuerelement-Toolbox.
Ciao
Thorsten
hmm...
30.08.2010 10:40:29
Oberschlumpf
...ohne deine Datei?...
Hi Ralf
...kann ich nur vermuten.
Ich gehe davon aus, dass der Code für jeden Button direkt im Click-Ereignis jeden Buttons steht.
Daher...
...schreibe erst mal für einen Button "seinen" Code in ein allgemeines Modul - der Name der Sub könnte z Bsp heißen sbButton1 also so: (im allgemeinen Modul)

Sub sbButton1()
hier der ganze Code rein aus deinem Button1
End Sub
im Click-Ereignis von Button1 löschst du alles und schreibst nur
sbButton1
rein.
Jetzt starte deine Datei und Klick auf Button1. Wenn du alles richtig gemacht hast, dürftest du zu deiner vorherigen Programmierung keinen Unterschied feststellen.
So, wenn denn alles läuft, wiederholst du alles wie gerade für Button1 beschrieben für all deine anderen Button.
Und nun schreibst du einfach ins Click-Ereignis von Button1 das hier rein:
sbButton1
sbButton2
sbButton3
...
usw
Wenn du jetzt auf Button1 klickst, werden alle Makros ausgeführt, die sonst nur bei Klick auf Button2,3,4 usw ausgeführt werden.
Und wenn du was nicht verstehst, dann zeig uns deine Datei mit Daten und allem, was erforderlich ist, um deine Frage zu verstehen.
Hilfts denn?
Ciao
Thorsten
Anzeige
Einfacher
30.08.2010 10:53:14
JogyB
Hallo Thorsten,
das geht im Falle von Buttons aus der Steuerelement-Toolbox auch ganz einfach (das kommt in den Code von Tabelle1):
Private Sub CommandButton2_Click()
Tabelle1.CommandButton1 = True
Tabelle2.CommandButton1 = True
Tabelle3.CommandButton1 = True
Tabelle4.CommandButton1 = True
Tabelle5.CommandButton1 = True
Tabelle6.CommandButton1 = True
Tabelle7.CommandButton1 = True
Tabelle8.CommandButton1 = True
Tabelle9.CommandButton1 = True
Tabelle10.CommandButton1 = True
Tabelle11.CommandButton1 = True
End Sub

Tabelle1, Tabelle2... ist der Codename Deiner Tabellen, also der Name, der im Visual Basic Editor außerhalb der Klammer steht.
Dann bin ich noch davon ausgegangen, dass Du einfach den Standardnamen für die CommandButtons gelassen hast, also CommandButton1 in jeder Tabelle. Das musst Du noch prüfen.
Der CommandButton, der dann alles auslöst, wäre dementsprechend CommanButton2, aber auch das musst Du natürlich prüfen und ggf. anpassen.
Gruß, Jogy
Anzeige
oder als Schleife
30.08.2010 10:56:45
JogyB
Ergänzend zum letzten Posting: Das kann man natürlich auch als Schleife machen, nur müssen es dann wirklich die ersten 11 Tabellenblätter sein und der CommandButton muss immer denselben Namen haben.
Private Sub CommandButton2_Click()
Dim i As Long
For i = 1 To 11
ThisWorkbook.Worksheets(i).CommandButton1 = True
Next
End Sub

Gruß, Jogy
ok, haste Recht...
30.08.2010 10:58:02
Oberschlumpf
...auch, wenn ich ein Befürworter dafür bin, in die Ereignisse so wenig Code zu schreiben, wie nötig, ist deine Variante, Jogy, sicherlich die schnellere ;-)
Ciao
Thorsten
AW: ok, haste Recht...
30.08.2010 11:02:55
JogyB
Hallo Thorsten,
Deine Variante ist sicherlich eleganter, mache ich im Normalfall auch so, wenn es mehr als ein paar Codezeilen sind und vor allem wenn auf mehreren Tabellenblättern dasselbe gemacht wird (dann kann man ja den Tabelleblattnamen oder das Tabellenblattobjekt übergeben... oder man nimmt gleich eine Klasse).
Nur beim Level "VBA mit Recorder" wollte ich ihn jetzt nicht gleich den ganzen Code umstricken lassen ;).
Gruß, Jogy
Anzeige
Vielen Dank - - - es funzt :-)
30.08.2010 11:55:10
Ralf
... ich habe es natürlich sofort ausprobiert und zu Beginn
kam auch erst noch eine Fehlermeldung :
mehrfache Objektdeklaration . Dieser konnte ich
aber mit meinen bescheidenen VBA - Kenntnissen begegnen :-)
... und dann hat es geklappt - - - VIELEN VIELEN DANK euch
beiden :-)
und viele Grüße aus dem Teutoburger Wald
Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige