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

Sub ...._Klicken

Sub ...._Klicken
16.10.2016 15:34:29
Thomas
Sehr geehrte Damen und Herren,
wenn man z.B. 40 X Sub Grafik1_Klicken....Sub Grafik40_Klicken hat,
mit einer Schleife aufrufen?
For i = 1 to 40
Sub Grafik(i)_Klicken........usw.
Vielen Dank
MfG Tom

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub ...._Klicken
16.10.2016 15:37:45
Hajo_Zi
Hallo Tom,
ein Sub kann nicht mit "40 X§ beginnen. Der Name darf auch keine Leerstellen enthalten.
Innerhalb einer Sub darf kein Sub stehen.

AW: Sub ...._Klicken
16.10.2016 16:43:06
Matthias
Hallo!
Also wenn sich deine Click Ereignisse in einem neuen Modul befinden (im Zweifel einfach dorthin kopieren), dann würde es so gehen:
For i = 1 To 40
Name = "Grafik" & i & "_Klicken"
Application.Run (Name)
Next
VG
AW: Sub ...._Klicken
16.10.2016 19:05:10
Michael
Hi,
also, ich weiß ja nicht, was in den 40 Subs drinsteht... Aber wenn es 40x mehr oder weniger das Gleiche ist, tut es doch EINE Sub, der man die jeweilige Grafik als Objekt (oder den Namen der Grafik) übergibt.
Z.B. so was (ich habe ein paar "Standardformen" als "Grafik" eingefügt):
Option Explicit
Sub aufrufen()
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
Call GrafikSchieben(sh, 20#, 30#)
Next
End Sub
Sub GrafikSchieben(sh As Shape, li As Single, ob As Single)
sh.Left = sh.Left + li
sh.Top = sh.Top + ob
End Sub
Schöne Grüße,
Michael
Anzeige
AW: Sub ...._Klicken
16.10.2016 19:16:12
Daniel
Hi
das mit den Damen und Herren kannst du weglassen.
Ein freundlicher Gruß wird zwar erwartet, aber so förmlich muss es nicht sein.
wenn du viele Grafiken hast, die alle den gleichen oder zumindest ähnlichen Code haben sollen, dann reicht im Prinzip ein Makro aus, welches dann allen Grafiken zugewiesen wird.
in diesem Makro kannst du dann mit Application.Caller ermitteln, welche Grafik angeklickt wurde und das Makro ausgelöst hat, um dann ggf diffenziert reageiren zu können:
der Beispielcode zeigt die Zelle, in welcher die angeklickte Grafik liegt:
Sub Grafik_Bei_Klick()
MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige