Excel VBA Makro ausführen wenn Zelle angeklickt wird

Hallo Leute,

ich bin ein Anfänger auf dem Gebiet Excel/VBA und habe folgendes Problem.
Wie starte ich beim anklicken einer Zelle ein Makro. Also wie kann ich z.B.
beim anklicken einer Zelle den Inhalt einer anderen Zelle löschen ?

mfg und Danke

Hallo Kay,

Post by Kay Thoma
ich bin ein Anfänger auf dem Gebiet Excel/VBA und habe folgendes Problem.
Wie starte ich beim anklicken einer Zelle ein Makro. Also wie kann ich z.B.
beim anklicken einer Zelle den Inhalt einer anderen Zelle löschen ?

dazu verwendet man verschiedene Ereignisse, die alle mögliche Handlungen überwachen.
Wähle im Codemodul der Tabelle im linken Dropdoenfeld den Eintrag 'Worksheet'.
Daraufhin wird das Codegerüst des SelectionChange-Ereignis erstellt.
Im rechten Dropdownfeld befindet sich eine Auflistung aller zur Verfügung stehenden Ereignisse.
Bei Klick auf ein Ereignbis wird das Codegerüst im Codeblatt erstellt.

Um den Wechsel einer Zelle zu überwachen verwendet man das SelectionChange-Ereignis.
Angenommen, du willst nur die Zelle A1 überwachen, dann verwende folgenden Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
Range("F1").ClearContents
End If
End Sub

Wenn die Zelle A1 angeklickt wird, wird der Inhalt der Zelle F1 gelöscht.

--
Mit freundlichen Grüßen
Melanie Breden

_____________________
[Microsoft MVP für Excel]

Excel VBA Makro ausführen wenn Zelle angeklickt wird
25.08.2017, 10:26
  #1

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF User

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 20.11.2013

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel2010 - Makro ausf�hren lassen bei Klick auf Zeile, im Makro entsprechend Bereich verschieben


Hallo zusammen,

ich versuche gerade folgendes umzusetzen jedoch wei� ich ab hier nicht mehr weiter.

Gibt es eine M�glichkeit das die Bez�ge des Makros um den Bereich einfach verschoben werden in jene Zeile in Excel in die man klickt?

Aktuell l�uft es auf die Bez�ge der Zeile 3. Ich ben�tige nun aber z.B. die Zeile 10 mit den Bez�gen aus der Tabelle. Gibt es daher einen Code Zusatz der bei Klick auf eine andere Zeile entsprechend die Bez�ge versch�et nach dorthin?

Code:


Sub test()
Dim olApp As Object
Dim olOldBody As String

Set olApp = CreateObject("Outlook.Application")

    With olApp.CreateItem(0)
         
              .GetInspector.Display
              olOldBody = .htmlBody
              .To = "test"
              .Subject = "TEXT" & " - " & Range("AK3") & " // TEXT >>> " & Range("J3") & " <<< TEXT // " _
              & Format(Range("L3"), "#,##0") & " MWh // " & Range("G3") & " - " & Range("H3") & " // " & _
              Range("I3") & " // " & Range("C3") & EMPFAENGER
              .htmlBody = olOldBody
    End With

End Sub

__________________

Gru�
VBAFirst

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
25.08.2017, 12:14
  #2

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF Guru

 

Registrierung: 17.05.2008

Excel VBA Makro ausführen wenn Zelle angeklickt wird


benutze
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schlie�en.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.

Code:


Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

was Du machen willst kennst Du ganz genau.

Ich lade keine Datei mit dem Namen Test... herunter.

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

__________________

Signatur in jedem Beitrag
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2021 - 32 Bit.
Fragen werden im Forum beantwortet, nicht per PN.
Ich bewerte keine Beitr�ge mehr, da keine R�ckmeldung.

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
25.08.2017, 13:50
  #3

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF Meister

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 02.02.2016

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


Moin,

das Ereignis Selection_Change liefert mit Target.Row und Target.Column die Zelle, die angeklickt wurde. Daraus kannst Du die passenden Ranges bauen, zB

Code:


Range(Target.Row,  "C")

anstatt

__________________

Gru�
Ralf

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
28.08.2017, 09:52
  #4

Threadstarter 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF User

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 20.11.2013

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


Danke f�r Eure Hilfe dazu.

Ich habe den Code in der Datei umgesetzt. Bezieht sich nun auf die "Tabelle1" ausschlie�lich.

Allerdings hakt es beim dem Bauen der Range noch. Wie m�sste ich die Ranges anlegen damit genau die Zelle gezielt getroffen werden kann?

Es soll anstatt C3 nun z.B. nun nicht die Zeile 3 sondern 23 genommen werden.

Der Code sieht aktuelle wie folgt aus, funktioniert aber noch nicht.

M�sste zur Range(Target.row, "C") noch ein Range(Target.Column, "?" verkn�pft werden??
Aktuell erhalte ich
Methode 'Range' Objekt '_Worksheet' fehlgeschlagen

Code:


Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim olApp As Object
Dim olOldBody As String

Set olApp = CreateObject("Outlook.Application")

    With olApp.CreateItem(0)
         
              .GetInspector.Display
              olOldBody = .htmlBody
              .To = "test"
              .Subject = "TEXT" & " - " & Range(Target.Row, "AK") & " // TEXT >>> " & Range(Target.Row, "J") & " <<< TEXT // " _
              & Format(Range(Target.Row, "L"), "#,##0") & " MWh // " & Range(Target.Row, "G") & " - " & Range(Target.Row, "H") & " // " & _
              Range(Target.Row, "I") & " // " & Range(Target.Row, "C")
              .htmlBody = olOldBody
    End With

End Sub

Gr��e
Henry

__________________

Gru�
VBAFirst


Ge�ndert von VBAFirst (28.08.2017 um 10:01 Uhr).

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
28.08.2017, 10:23
  #5

Threadstarter 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF User

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 20.11.2013

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


Okay, hat geklappt! Es musste nur wie folgt ge�ndert werden.
Bsp: Range("C" & Target.Row)

Mit diesem Code funktioniert es nun wie es soll. Danke Euch

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Code:


Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim olApp As Object
Dim olOldBody As String

Set olApp = CreateObject("Outlook.Application")

    With olApp.CreateItem(0)
         
              .GetInspector.Display
              olOldBody = .htmlBody
              .To = "test"
              .Subject = "TEXT" & " - " & Range("AK" & Target.Row) & " // TEXT >>> " & Range("J" & Target.Row) & " <<< TEXT // " _
              & Format(Range("L" & Target.Row), "#,##0") & " MWh // " & Range("G" & Target.Row) & " - " & Range("H" & Target.Row) & " // " & _
              Range("I" & Target.Row) & " // " & Range("C" & Target.Row)
              .htmlBody = olOldBody
    End With

End Sub

__________________

Gru�
VBAFirst

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
28.08.2017, 12:36
  #6

Threadstarter 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF User

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 20.11.2013

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


G�be es eigentlich eine M�glichkeit das ich diesen Code ebenfalls als Makro erstellen kann, so dass es als Addin verwendet werden k�nnte?

Quasi Bei Addin Aktivierung in der Men�leiste bezieht sich das SelectionChange auf die momentan angezeigte Tabelle??

Gr��e
Henry

__________________

Gru�
VBAFirst

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
28.08.2017, 14:48
  #7

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF Meister

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 02.02.2016

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


Zitat:

so dass es als Addin verwendet werden k�nnte?

Das sollte mich wundern. Excel selbst ruft beim Eintritt des Ereignisses die Prozedur auf, die im zugeh�rigen Tabellenblatt hinterlegt ist. Wie da ein Umbiegen auf ein AddIn ablaufen sollte, ist mir r�tselhaft, lasse mich aber gern �berraschen.

__________________

Gru�
Ralf

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
29.08.2017, 16:03
  #8

Threadstarter 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird

MOF User

 

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Registrierung: 20.11.2013

Karma:

Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird


Ja verst�ndlich. Ich habe mir jetzt einen Workaround geschaffen in dem ich mit einem anderen Makro als Addin einfach den Tabelleninhalt in die andere Datei lade. Klappt super.
Danke an alle f�r die Unterst�tzung!

__________________

Gru�
VBAFirst

Excel VBA Makro ausführen wenn Zelle angeklickt wird
 

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird

Excel VBA Makro ausführen wenn Zelle angeklickt wird
Excel VBA Makro ausführen wenn Zelle angeklickt wird