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

Viele Schaltflächen per Makro zuweisen

Viele Schaltflächen per Makro zuweisen
01.11.2016 17:52:03
Sascha
Hallo zusammen,
ich bin gerade dabei, eine ganz einfache Kundendatenbank für einen Freund anzulegen.
Diese hat in einer Tabelle 1000 Zeilen mit je einem Button. Jeder Button soll ein anderes Makro mit fortlaufender Nummer im Namen ausführen.
Mit dem Makrorekorder habe ich für 10 Schaltflächen folgenden Code generiert:
[code]

Sub test2()
' test2 Makro
ActiveSheet.Shapes.Range(Array("Button 9")).Select
Selection.OnAction = "DB_Eintrag001"
ActiveSheet.Shapes.Range(Array("Button 1052")).Select
Selection.OnAction = "DB_Eintrag002"
ActiveSheet.Shapes.Range(Array("Button 1053")).Select
Selection.OnAction = "DB_Eintrag003"
ActiveSheet.Shapes.Range(Array("Button 1054")).Select
Selection.OnAction = "DB_Eintrag004"
ActiveSheet.Shapes.Range(Array("Button 1055")).Select
Selection.OnAction = "DB_Eintrag005"
ActiveSheet.Shapes.Range(Array("Button 1056")).Select
Selection.OnAction = "DB_Eintrag006"
ActiveSheet.Shapes.Range(Array("Button 1057")).Select
Selection.OnAction = "DB_Eintrag007"
ActiveSheet.Shapes.Range(Array("Button 1058")).Select
Selection.OnAction = "DB_Eintrag008"
ActiveSheet.Shapes.Range(Array("Button 1059")).Select
Selection.OnAction = "DB_Eintrag009"
ActiveSheet.Shapes.Range(Array("Button 1060")).Select
Selection.OnAction = "DB_Eintrag010"
End Sub

[/code]
Wie kann ich nun den jeweiligen [i]Button XXXX[/i] zu seinem passenden [i]DB_Eintragyyy[/i] durchnummerieren, ohne es von Hand eintippen zu müssen. Es sind immerhin noch 900 Schaltflächen :D
Ich schlage mich seit Stunden mit einer Lösung durch Variablen und einer Schleife herum, aber ich muss mir alles über Suchmaschinen "zusammenbasteln" und nichts funktioniert nur im Ansatz.
Ich hoffe daher, dass jemand in diesem Forum ein Herz für "copy/paste"ler hat und mir einen fertigen Code zaubern kann *gg*
LG Sascha

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 17:53:41
Hajo_Zi
lese FAQ
Zu Crossposting lies diese Seite Hajo-Excel.de
Durch Crossposting werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.
Anzeige
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 17:57:32
Sascha
Danke, ich bin aber nicht "naturgemäß". Eine Antwort auf meine Frage / mein Anliegen wäre mir lieber gewesen. ;)
AW: Crossposting
01.11.2016 18:00:11
Hajo_Zi
das muss nicht offen sein
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 20:37:26
Hans
Moin moin,
ich weiß ja nicht genau ob dir das weiterhilft.
Ich hab mal dieses Teil vom Makro in eine Excel Tabellenblatt eingefügt.
ActiveSheet.Shapes.Range(Array("Button 1060")).Select
Selection.OnAction = "DB_Eintrag010"
Eventuell geht es ja mit dem Markieren der beiden Zellen und über "Auto Ausfüllen"
Bei mir ging das zwar nicht ganz so, aber nur weil ich die Funktion "Auto Ausfüllen" nicht gefunden habe.
HANS
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 18:31:16
Gerd
Hallo Devilsbiest, :-)
die mir interesantere Frage:
Wodurch unterscheiden sich das Makro002 vom Makro912 bzw. wie sehen diese aus ?
Gruß Gerd
Anzeige
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 18:31:52
Hajo_Zi
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 20:48:56
Sascha
Hallo Hans, leider kann "Autoausfüllen" mir nicht weiterhelfen, die Redeist vom VBA-Editor, nicht von der Tabelle :)
Hallo Gerd,
die damit aufgerufenen Makros springen in bestimmte Bereiche anderer Tabellen, die mir als Datenbank dienen, lesen diese aus und generieren Dokumente in vorgegebenen Formularen. Ich habe das berühmte Pferd von hinten aufgezäumt, weil meiner Kreativität oft Grenzen gesetzt sind. Also fokussiere ich erst das Ergebnis, bevor ich den Weg dorthin finde :D
Steckt schon ein gehörige Portion Arbeit drin...
LG
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 21:15:53
fcs
Hallo Devilbiest,
wenn du schaltflächen aus den Formularelementen verwendest,
Dann kann man benötigt man nicht die Namen der einzelnen Schaltflächen.
Man kann über Application.Caller den Shapenamen ermitteln und über die TopLeftCell-Eigenschaft des Shape-Objekts ermitteln, in welcher Tabellenzeile sich das das Makro startende Shape/Schaltfläche befindet.
Mit der Zeilen-Information sollte möglich sein, weitere Werte aus dem Blatt auszulesen und das passende Makro zum DB-Eintrag zu starten, bzw. den DB-Eintrag zu ermitteln und nur ein Makro zu starten, das den DB-Eintrag verarbeitte.
Ich kann mir nicht vorstellen, dass 1000 verschiedene Makros erforderlich sind, um die DB-Einträge zu verarbeiten.
Gruß
Franz
Anzeige
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 21:36:47
Sascha
Sicherlich kann man das auch eleganter lösen, aber ICH halt nicht. :) Alles was Du da geschrieben hast ist für mich absolut unverständlich, ich bin halt kein VBA-Pro ;)
AW: Viele Schaltflächen per Makro zuweisen
01.11.2016 21:38:05
Sascha
Die Lösung für mein Anliegen sieht im Übrigen so aus:
Sub teste()
Dim L As Long
For L = 1052 To 1060
ActiveSheet.Shapes("Button " & CStr(L)).OnAction = "DB_Eintrag" & Format$(L - 1050, "000")
Next
End Sub
Danke an Gerd für die prombte Hilfe :)
Allen noch einen schönen Abend.
LG

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige