Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro nur in bestimmten Zellen starten
#1
Hallo an die Gemeinde,

eine Fachfrage eines VBA-Newbies...

Möchte, dass ein Makro nur ausgeführt wird, wenn die aktive Zelle sich in einem definierten Bereich befindet.

Zum einen bräuchte ich das mit Auflistung einzelner Zellen, bei denen die Ausführung des Makros möglich ist.

In der zweiten Option (für ein anderes Blatt) bräuchte ich einen definierten Bereich (bspw. A12:C26), bei dem das Makro nur ausgeführt werden kann, wenn die activecell in diesem Bereich liegt.

Hättet ihr eine Idee für einen Code....?

Vielen Dank im Voraus!
Antwortento top
#2
https://docs.microsoft.com/en-us/office/....intersect
oder anschaulicher erklärt unter
https://www.herber.de/forum/archiv/632to...RSECT.html
Schöne Grüße
Berni
Antwortento top
#3
Danke, damit komme ich soweit klar und es läuft wie gewünscht. Eine weitere Frage: Wenn jetzt eine nicht definierte Zelle gewählt wird und von dieser das Makro dann logischerweise nicht startet, an welcher Stelle kann ich im Code eine entsprechende MsgBox einfügen, die einen Hinweis gibt...?


Sub WSEDAbfrageStarten()

If Not Intersect(Selection, Range("AP9, AP12, AP15, AP18, AP21, AP24")) Is Nothing Or _
  Not Intersect(Selection, Range("AR9, AR12, AR15, AR18, AR21, AR24")) Is Nothing Or _
  Not Intersect(Selection, Range("AT9, AT12, AT15, AT18, AT21, AT24")) Is Nothing Or _
  Not Intersect(Selection, Range("AV9, AV12, AV15, AV18, AV21, AV24")) Is Nothing Then
  wsedFormular.Show
  End If

End Sub
Antwortento top
#4
If... Then... Else...
Oder was meinst du?
Schöne Grüße
Berni
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste