Excel 97 - Makro beim Betreten einer Zelle ausführen

Dieses Thema Excel 97 - Makro beim Betreten einer Zelle ausführen im Forum "Microsoft Office Suite" wurde erstellt von T-Low, 11. Feb. 2003.

Thema: Excel 97 - Makro beim Betreten einer Zelle ausführen Hallo! Ich möchte, dass ein Makro ausgeführt wird, wenn ich eine bestimmte Zelle betrete. Momentan nutze ich...

  1. 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


    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!


    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
     
Die Seite wird geladen...

Excel 97 - Makro beim Betreten einer Zelle ausführen - Ähnliche Themen

Forum Datum
Excel VBA Makro zum suchen eines Textes und anschließend einen Breich zu kopieren Microsoft Office Suite 22. Jan. 2015
Excel VBA Makro zum suchen und markieren von Zeilen die ein bestimmtes Wort enthalten Microsoft Office Suite 16. Juni 2014
Excel: Makro ASCII verschieben Windows XP Forum 8. Nov. 2013
Makros und anderes - Excel Microsoft Office Suite 15. März 2013
Excel Sprungmarke mitten in ein anderes Makro Windows XP Forum 15. März 2012