Excel 97 - Makro beim Betreten einer Zelle ausführen

  • #1
T

T-Low

Bekanntes Mitglied
Themenersteller
Dabei seit
18.05.2002
Beiträge
146
Reaktionspunkte
0
Ort
Köln/München
Hallo!

Ich möchte, dass ein Makro ausgeführt wird, wenn ich eine bestimmte Zelle betrete. Momentan nutze ich folgenden Code:

Public Alt_Adresse
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Alt_Adresse = $A$2 Then
Call Eintrag_suchen
End If
Alt_Adresse = Target.Address
End Sub

Dieser ruft das Makro beim Verlassen der Zelle A2 auf, was leider in meinem Fall überhaupt nicht praxistauglich ist. Kann mir jemand einen Tipp geben, wie ich das Makro Eintrag_suchen beim Betreten/Markieren der Zelle A3 aufrufen kann?

T-Low
 
  • #2
Hi T-Low,

das ist schon das richtige Ereignis. Bei jeder Änderung der Selektion wird dieses ereignis ausgelöst - also auch beimVerlassen von A2. Als Target wird der neu markierte Bereich zurueckgegeben.

Beispiel: Verhindern, dass Zelle A3 selektiert wird

Code:
'Tritt ein, wenn sich die Markierung in einem Arbeitsblatt ändert.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Target   Der neu markierte Bereich.
  Dim zelle As Range

  For Each zelle In Target
    If zelle.Row = 3 And zelle.Column = 1 Then 'Zelle A3 ?
        Cells(1, 1).Select
    End If
  Next
End Sub

Die Schleife ist notwendig, da Du ja auch mehrere Zellen markieren kannnst. Wenn dies der Fall ist gibt dir Target.Row und Target.column die linke obere Zelle des markierten Bereichs zurück.

Gruß Matjes :)
 
  • #3
Sorry, dass ich erst jetzt antworte.

Mein Code lautet jetzt...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim zelle As Range
  For Each zelle In Target
    If zelle.Row = 3 And zelle.Column = 1 Then 'Zelle A3 ?
        Call Eintrag_suchen
    End If
  Next
End Sub
... und damit funktionierts. Eigentlich war ich gar nicht so weit weg von der Lösung. Leider kenn ich mich Makros nicht wirklich gut aus, daher habe ich das erste (geklaute ;D )Makro nicht auf Anhieb verstanden.

Jetzt gehts auf jeden Fall. Danke!

T-Low
 
  • #4
Hi T-Low,

schön das es funktioniert :D


Leider kenn ich mich Makros nicht wirklich gut aus, daher habe ich das erste (geklaute )Makro nicht auf Anhieb verstanden.
Vielleicht noch ein kleiner Tipp, damit du die stibitzten ;D Makros besser verstehst:

Wenn Du markante Worte im VB-Editor-Fenster markierst und F1 (Hilfe) drückst, erhälst Du eine Erklärung, z.B. für 'SelectionChange' die Erklärung für das SelectionChange-Ereignis und ein Beispiel.

Gruß Matjes :)
 
  • #5
Ahoi, Matjes!


Matjes schrieb:
Wenn Du markante Worte im VB-Editor-Fenster markierst und F1 (Hilfe) drückst, erhälst Du eine Erklärung
Genau diese Erklärung war es, die mich verwirrt hat :)
Ich habe versucht den Aufbau des kompletten Makros zu verstehen. Das scheiterte schon daran, dass ich nicht wusste, ob Target eine Systemvariable oder ein frei definierter Begriff ist. Und wenn ich jedes Wort nachschlage, dass ich nicht zuordnen kann, wirds irgendwann dunkel im Hirn. Immerhin konnte ich noch alle Makros soweit lesen, dass ich sie irgendwie anpassen konnte.

Noch habe ich die Hoffnung aber nicht aufgegeben.

T-Low
 
Thema:

Excel 97 - Makro beim Betreten einer Zelle ausführen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben