Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

"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

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
"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.
Anzeige
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
Danke, das wars!
06.05.2004 14:01:22
Johannes
Jetzt geht's, danke!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige