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

Makro starten beim Click auf eine Zelle

Forumthread: Makro starten beim Click auf eine Zelle

Makro starten beim Click auf eine Zelle
19.02.2004 12:03:05
PeterS
Hallo
kann man ein Makro starten, wenn man z.B. in eine Zelle im Bereich B15:B20 clickt? (Ohne dass man etwas eingeben muss)
Gruss Peter
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten beim Click auf eine Zelle
19.02.2004 12:35:46
Christian V
Hallo Peter!
Grundsätzlich, vielleicht nicht elegant, lässt sich Dein Problem wie folgt lösen:
Über Symbolleiste Zeichnen ein Rechteck über den ZellBereich zeichnen (ggf formatieren: Farbe: keine Farbe; Linie: keine Farbe); rechte Maustaste -> Makro zuweisen ....
Das geht solange gut, solange Du E I N Makro aufrufen möchtest, egal welche Zelle angeklickt wird ..... ansonsten müsstest Du die zuvor zitierten Schritte pro Zelle/Makro durchführen
Alle Klarheiten beseitigt?
LG
vbChr
Anzeige
AW: Makro starten beim Click auf eine Zelle
19.02.2004 12:46:58
PeterW
Hallo Peter,
das geht mit dem Worksheet_Change-Ereignis. Kopiere diesen Code in das Modul deiner Mappe (Rechtsklick auf das Tabellenregister, Code anzeigen, in das freie Fenster den Code kopieren):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B15:B20")) Is Nothing Then
MsgBox "Zelle im Bereich angeklickt"
'statt der MsgBox hier dein Code
End If
End Sub

Gruß
Peter
Anzeige
Dank an beide
19.02.2004 18:32:13
PeterS
vorallem aber an Peter
Gruss Peter
;
Anzeige

Infobox / Tutorial

Makro bei Klick auf eine Zelle ausführen


Schritt-für-Schritt-Anleitung

Um ein Makro auszuführen, wenn Du auf eine Zelle im Bereich B15:B20 klickst, kannst Du den folgenden VBA-Code verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du das Makro ausführen möchtest.

  2. Klicke mit der rechten Maustaste auf das Tabellenregister und wähle „Code anzeigen“.

  3. Füge den folgenden Code in das Modul ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Not Intersect(Target, Range("B15:B20")) Is Nothing Then
           MsgBox "Zelle im Bereich angeklickt"
           ' Statt der MsgBox hier dein Makro aufrufen
       End If
    End Sub
  4. Schließe das VBA-Fenster und teste es, indem Du auf eine Zelle im angegebenen Bereich klickst.

Mit diesem Worksheet_SelectionChange-Ereignis wird das Makro automatisch ausgeführt, wenn Du eine Zelle im definierten Bereich anklickst.


Häufige Fehler und Lösungen

Fehler 1: Das Makro wird nicht ausgeführt, wenn ich auf die Zelle klicke.

Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt-Modul eingefügt wurde. Du solltest den Code im Modul des Arbeitsblatts platzieren, auf dem Du das Makro ausführen möchtest.

Fehler 2: Ich sehe die MsgBox nicht, wenn ich auf die Zelle klicke.

Lösung: Überprüfe, ob die Zelle im Bereich B15:B20 liegt. Wenn Du andere Zellen klickst, wird das Makro nicht aktiviert.


Alternative Methoden

Falls Du eine andere Methode bevorzugst, um ein Makro bei einem Klick auszuführen, kannst Du auch ein Rechteck über den Zellenbereich zeichnen und dieses mit dem Makro verknüpfen:

  1. Gehe zu „Einfügen“ > „Formen“ und wähle ein Rechteck aus.
  2. Zeichne das Rechteck über den Zellen B15:B20.
  3. Klicke mit der rechten Maustaste auf das Rechteck und wähle „Makro zuweisen“.
  4. Wähle das gewünschte Makro aus und bestätige.

Diese Methode ist nützlich, wenn Du mehrere Makros für verschiedene Zellen verwenden möchtest.


Praktische Beispiele

  1. Beispiel für ein einfaches Makro:

    Wenn Du den MsgBox-Befehl durch ein anderes Makro ersetzen möchtest, kannst Du dies tun. Zum Beispiel:

    ' Hier dein Makro-Code
    Call MeinMakro
  2. Beispiel für Datenverarbeitung:

    Wenn Du beim Klick auf eine Zelle Daten verarbeiten möchtest, könnte der Code so aussehen:

    If Not Intersect(Target, Range("B15:B20")) Is Nothing Then
       ' Daten verarbeiten
       Worksheets("Daten").Range("A1").Value = Target.Value
    End If

Tipps für Profis

  • Nutze die Application.ScreenUpdating-Option, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren, um die Leistung zu verbessern.
  • Vergiss nicht, Deine Makros zu dokumentieren, damit Du später nachvollziehen kannst, was sie tun.
  • Teste Dein Makro gründlich, um sicherzustellen, dass es in allen erwarteten Szenarien funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bereiche für das Makro festlegen? Du kannst mehrere Bereiche im If-Befehl definieren. Zum Beispiel:

If Not Intersect(Target, Union(Range("B15:B20"), Range("C15:C20"))) Is Nothing Then

2. Was kann ich tun, wenn ich ein Makro ausführen möchte, wenn ich eine Zelle in einer anderen Tabelle klicke? Das ist nicht direkt möglich mit Worksheet_SelectionChange. Du kannst jedoch ein Button-Objekt verwenden, um ein Makro auszulösen, das in einer anderen Tabelle definiert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige