Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makrostart auf Klick in eine Zelle (oder m.Umweg)

Makrostart auf Klick in eine Zelle (oder m.Umweg)
18.06.2008 18:33:00
Claus
Hallo Spezialisten,
für eine Analyse möchte ich 9 verschiedene Makros auf anklicken von 9 verschiedenen Zellen ausführen. Das ginge ja mit 9 Rechtecken, die ich über die jeweiligen Zellen lege und denen ich die jeweiligen Makros zuordne.
Problem: Je nachdem wie die Variablen posx und posy aussehen, sollen die Schaltflächen an anderen Positionen sein. Beispiel: posx = 3, posy =4 bewirkt: Schaltfläche für Makro 1 in B3, SF f. M 2 in C3, 3 in D3, 4 in B4, 5 in C4 usw.
Gibt es da eine Lösung, dass direkt das anklicken einer definierten Zelle einen Makro startet oder kann ich ggf. Schaltflächen um x Spalten und y Zeilen verschieben?
Vielen Dank im Voraus schon mal
Claus

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makrostart auf Klick in eine Zelle (oder m.Umw
18.06.2008 18:42:00
Johannes
Hallo Claus,
zum Beispiel so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
Case Range("B4").Address
Debug.Print "B4 geklickt"
Case Range("C3").Address
Debug.Print "C3 geklickt"
End Select
End Sub


Anzeige
AW: Makrostart auf Klick in eine Zelle (oder m.Umw
18.06.2008 19:25:00
Claus
Hallo Johannes,
Danke schon mal. Leider komme ich damit noch nicht klar.
Kannst du mir das mal genau beschreiben, was wie wo gemacht werden muss.
Einfaches Beispiel: Wenn ich auf C5 klicke soll es in Zelle A4 "funzt" schreiben.

AW: Makrostart auf Klick in eine Zelle (oder m.Umw
18.06.2008 20:13:02
Tino
Hallo,
Target ist die Zelle auf die du gehst.
Also entweder gehst du von Target Offset auf eine bestimmte Zelle.
Wenn Target C5 und in A4 soll der Text
Target.Offset(-1,-2)=“funzt“
oder direkt
Range(“A4“)=“funzt“
Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Makrostart auf Klick in eine Zelle (oder m.Umweg)
18.06.2008 18:47:25
Tino
Hallo,
kommt ins Tabellenblatt als Code.
Vorsicht in Deinem Makro sollte kein Abbruch aller Prozeduren sein wegen sonst bleibt
Application.EnableEvents auf False!!!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A1")) Is Nothing Then
Call meinMakro
ElseIf Not Intersect(Target, Range("A5")) Is Nothing Then
Call meinMakro1
ElseIf Not Intersect(Target, Range("A9")) Is Nothing Then
Call meinMakro2
ElseIf Not Intersect(Target, Range("A10")) Is Nothing Then
Call meinMakro3
ElseIf Not Intersect(Target, Range("A12")) Is Nothing Then
Call meinMakro4
End If
Application.EnableEvents = True
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige