Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Variable verändert Wert

Forumthread: Variable verändert Wert

Variable verändert Wert
13.10.2003 18:00:49
Franz W.
Hallo Forum,

ich kämpfe mit einer Variablen, die verändert im Laufe des Makros ihren Wert und ich weiß nicht warum.

In der Spalte C steht eine Nummer, in der Spalte D ein Name und dazu ein Kommentar. Hier der Code:


Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
c = Target.Column
If Not c = 3 Then Exit Sub
Worksheets("Ablesungen").Unprotect
myStart = Target.Address
If c = 3 And Cells(r, c).Value = "" Then
Cells(r, c + 1).Value = ""
If Not Cells(r, c + 1).Comment Is Nothing Then Cells(r, c + 1).Comment.Delete
GoTo weiter
End If
End Sub


Wenn ich nun in Spalte C die Nummer lösche, wird in Spalte D der Name gelöscht, ABER DER KOMMENTAR NICHT!

Wenn ich vor die Zeilen 7, 8 und 9 einen Haltepunkt setze, so ist zunächst c immer = 3, bis zum letzten Stopp, da ist dann r = 4. Das heißt also, nach der Zeile...

Cells(r, c + 1).Value = ""

... wird r auf 4 erhöht.

Kann mir das bitte jemand erklären?

Vielen Dank schon mal für Eure Hilfe

Grüße
Franz
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
hab ne Lösung
13.10.2003 19:13:16
Franz W.
Hallo Forum,

hab zwar noch nicht rausgefunden, warum das passiert, hab's aber jetzt durch eine Umgehung gelöst:


Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationAutomatic
r = Target.Row
c = Target.Column
If Not c = 3 Then Exit Sub
Worksheets("Ablesungen").Unprotect
myStart = Target.Address
Range(myStart).Select
If Range(myStart).Column = 3 And Range(myStart).Value = "" Then
Range(myStart).Offset(0, 1).Value = ""
If Not Range(myStart).Offset(0, 1).Comment Is Nothing Then Range(myStart).Offset(0, 1).Comment.Delete
GoTo weiter
End If
End Sub


Damit haut's hin.

Grüße
Franz
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige