Sub oder Function ist nicht definiert?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Sub oder Function ist nicht definiert?
von: Jubeldibub
Geschrieben am: 13.06.2015 11:35:17

Hallo,
ich habe bei einer recht langen Sub von mir das Problem, dass er beim Ausführen "Sub oder Function ist nicht definiert" meckert, sobald er über den unteren Codeschnipsel (ab "->") stolpert:


Public SPArt As Long
Public Zone As Long
Public SP As Long
Private Sub ButtonBestätigen1_Click()
If SPArt = 1 And Zone = 1 Then
Range("CB15").Value = Range("CB15").Value - SP
Range("CB16").Value = Range("CB16").Value - Format((SP / 2), 0)
If SP >= Range("CB25").Value Then
Range("CB31").Value = Range("CB31").Value + 1
End If
If SP >= Range("CB26").Value Then
Range("CB31").Value = Range("CB31").Value + 1
End If
If SP >= Range("CB27").Value Then
Range("CB31").Value = Range("CB31").Value + 1
End If
End If
' ->
If Worksheet("XY").Range("AR24") > 0 Then
Worksheet("XY").Range("AR32").Value = Worksheet("XY").Range("AR32").Value - Format((SP / 2), 0)
End If
If Worksheet("XY").Range("AR32") <= 0 And Range("AR24").Value > 0 Then
Worksheet("XY").Range("AR24").Value = Worksheet("XY").Range("AR24").Value - 1
Worksheet("XY").Range("AR32").Value = Worksheet("XY").Range("AR32").Value + (Worksheet("XY"). _
Range("AR32").Value * 20)
End If
If Worksheet("XY").Range("AR32") <= 0 And Range("AR24").Value > 0 Then
Worksheet("XY").Range("AR24").Value = Worksheet("XY").Range("AR24").Value - 1
Worksheet("XY").Range("AR32").Value = Worksheet("XY").Range("AR32").Value + (Worksheet("XY"). _
Range("AR32").Value * 20)
End If
End If
...
End Sub

Die ersten "Range" beziehen sich auf die Mappe, von der aus die UserForm aufgerufen wird (in der dann ein Button die Sub auslöst). Die späteren "Range" beziehen sich eben auf das Tabellenblatt "XY". Liegt das Problem daran, dass ich die ersten nicht definiere?
Wenn ich den Bereich ab "->" weglasse, läuft alles einwandfrei. Hoffe ihr könnt mir helfen.

Bild

Betrifft: Worksheet muss Worksheets heißen! o.T.
von: Sepp
Geschrieben am: 13.06.2015 11:38:33

Gruß Sepp


Bild

Betrifft: AW: Sub oder Function ist nicht definiert?
von: Hajo_Zi
Geschrieben am: 13.06.2015 11:38:49
nicht Worksheet sondern Worksheets es sei den Du hast eine Funktion Worksheet


Bild

Betrifft: AW: Sub oder Function ist nicht definiert?
von: Jubeldibub
Geschrieben am: 13.06.2015 11:42:32
Super! Danke :)

Bild

Betrifft: AW: Sub oder Function ist nicht definiert?
von: Jubeldibub
Geschrieben am: 13.06.2015 11:40:30
Eine Korrektur in dem Code oben: Das erste Doppel-End If ist nur ein einfaches End If. Da ist mir eben was beim Copy&Paste durcheinandergeraten. Die genannte Fehlermeldung kommt aber auch, wenn ich das korrigiere.

Bild

Betrifft: With-Klammer setzen!
von: RPP63
Geschrieben am: 13.06.2015 13:45:16
Hi!
Mit einer With-Klammer und Zusammenfassung der Addition wird das Ganze ein wenig übersichtlicher:

With Worksheets("XY")
   If .Range("AR24") > 0 Then .Range("AR32").Value = .Range("AR32").Value - Format((SP / 2), 0)
   If .Range("AR32") <= 0 And Range("AR24").Value > 0 Then
      .Range("AR24").Value = .Range("AR24").Value - 1
      .Range("AR32").Value = .Range("AR32").Value * 21
   End If
   If .Range("AR32") <= 0 And Range("AR24").Value > 0 Then
      .Range("AR24").Value = .Range("AR24").Value - 1
      .Range("AR32").Value = .Range("AR32").Value * 21
   End If
End With
Gruß Ralf

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Sub oder Function ist nicht definiert?"