Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"If" wertet anscheinend nicht richtig aus, oder?

Forumthread: "If" wertet anscheinend nicht richtig aus, oder?

"If" wertet anscheinend nicht richtig aus, oder?
06.05.2004 13:23:39
Johannes
Hallo liebe Excel-Cracks,
Ich lasse Sub LAkt(...) über Worksheet_Change starten:
LAkt(...) soll wenn in Spalte 8 oder 11 Änderungen gemacht wurden aktiv werden, was ich durch die If-Anweisung bewerkstelligen will. Das klappt eigentlich auch.
Aber wenn sich Werte in anderen Spalten ändern, springt das Makro auch an, das versteh ich nicht, wo is da die Lücke in meiner If-Schleife?
(Dadurch dass ich für BZelle in diesen Fällen keinen Wert habe kommt es natürlich zum Fehler, aber in solchen Fällen wird ja BZelle gar nicht benötigt, und dürfte laut meiner Interpretation, mit dies If-Anweisung gar nicht aufgerufen werden)
Wo liegt mein Denkfehler?
Bitte helft mir.
Gruß, Johannes
Im folgenden die Codes
--
Sub LAkt(Bereich As Range)
Dim BZelle As Range
For Each Zelle In Bereich
If Zelle.Column = 8 Or 11 Then
If Zelle.Column = 8 Then
Set BZelle = Zelle
ElseIf Zelle.Column = 11 Then
Set BZelle = Zelle.Offset(0, -3)
Else
End If
If IsNumeric(BZelle.Value) And BZelle.Value "" Then BZelle.Offset(0, 13).Value = -1 Else BZelle.Offset(0, 13).Value = 0
If IsNumeric(BZelle.Offset(0, 3).Value) And BZelle.Offset(0, 3).Value "" Then BZelle.Offset(0, 14).Value = BZelle.Offset(0, 13).Value * (-1) + 1 Else BZelle.Offset(0, 14).Value = BZelle.Offset(0, 13).Value * (-1)
BZelle.Offset(0, 15).Value = BZelle.Offset(0, 14).Value * (-1)
End If
Next Zelle
End Sub
--

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Call LAkt(Target)
Application.EnableEvents = True
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "If" wertet anscheinend nicht richtig aus, oder?
xXx
Hallo,
fang die Spalte schon im Worksheet_change ab!

Private Sub Worksheet_Change(ByVal Target As Range)
if Target.Column=8 or Target.Column=11 Then
Application.EnableEvents = False
Call LAkt(Target)
Application.EnableEvents = True
end if
End Sub

Gruß aus'm Pott
Udo
http://www.excelerator.de
Anzeige
"Target" hat ja nicht unbedingt nur eine Spalte
06.05.2004 13:35:41
Johannes
Das Problem ist auch, dass Target nicht unbedingt nur eine Spalte enthält.
Und ich mit dem gleichen Target mehrere Makros starte, die anderen gehen aber einwandfrei, es muss also an diesm LAkt(...) liegen. Ich würd gerne wissen was da nicht stimmt.
Ich komm nicht drauf.
AW: "Target" hat ja nicht unbedingt nur eine Spalte
xXx
Hallo,
das ist auf jeden Fall falsch:
If Zelle.Column = 8 Or 11 Then
Richtig:
If Zelle.Column= 8 Or Zelle.Column=11 Then
Gruß aus'm Pott
Udo
Anzeige
Danke, das wars!
06.05.2004 14:01:22
Johannes
Jetzt geht's, danke!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige