XP SP3; Excel 2002; VBA; Ereignis auswerten
Hallo SN-Fans,
In meinem VBA-Programm wird eine Integervariable n berechnet.
Das Programm soll diese Variable in eine Zelle einschreiben, wenn diese mit einem Cursor angesteuert wird.
Dazu habe ich ein Unterprogramm an den Anfang des o.g. Programms gesetzt. Das Unterprogramm soll diesen Einschreibvorgang in Gang setzen:
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
If Target.Column = 13 And Target.Row = rx Then
Range.ActiveCell.Value = n
End If
End sub
Das heißt also, wenn eine bestimmte Zeile rx vorliegt und die Spalte Nr. 13 (Spalte M) mittels Tabulator erreicht ist (das Ereignis), soll der Wert n in die Zelle eingeschrieben werden.
An Range.ActiveCelll.Value = n scheitert das Programm aber. Weiß jemand, woran das liegt?
Gruß Queelun
Antwort schreiben
Antwort 1 von fedjo vom 11.08.2021, 18:13 Options
Hallo Queelun
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zfrei As Long
If Target.Column = 13 And Cells(Target.Row, Target.Column) = "rx" Then
ActiveCell.Value = "n"
End If
End Sub
Gruß
fedjo
Antwort 2 von Hajo_Zi vom 11.08.2021, 19:37 Options
Hallo Fedjo,
ob das die Lösung ist?
Ich hätte aber die endlosschleife verhindert.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zfrei As Long
If Target.Column = 13 And Target = "rx" Then
Application.EnableEvents = False
Target = "n"
Application.EnableEvents = True
End If
End Sub
Gruß Hajo