1k Aufrufe
Gefragt in Tabellenkalkulation von queelun Einsteiger_in (61 Punkte)
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

2 Antworten

0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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
...