[VBA] Select Case
#1
Hallo zusammen,
 
ich habe folgendes Problem:

Ich möchte in einer Liste je nach Wert in Spalte 4 die Betriebsangehörigkeit ermitteltn und je nach Fallunterscheidung soll basierend auf Spalte 49 eine Sonderzulage berechnet werden.
Dabei beginnen die Listeneinträge ab Zeile 5, die Fallunterscheidung soll gestaffelt in Monaten betrachtet werden.

Beim kompilieren bekomme ich folgende Fehlermeldung: "Next ohne For". Hat jemand eine Idee?

Sub Sonderzulage()
Dim Zeile As Long
Dim ZeileMax As Long
Dim Sonderzulage As Double
Dim Betriebszugehörigkeit As Integer
With tbl_Gehaltsdaten
ZeileMax = .Cells(Rows.Count, 2).End(xlUp).Row
For Zeile = 5 To ZeileMax
Betriebszugehörigkeit = DateDiff("m", .Cells(Zeile, 4).Value, Now)

Select Case Betriebszugehörigkeit
    Case 0 To 5
        Sonderzulage = 0
    Case 6 To 11
        Sonderzulage = .Cells(Zeile, 49).Value * 25 * 100
    Case 12 To 23
        Sonderzulage = .Cells(Zeile, 49).Value * 35 * 100
    Case 24 To 35
        Sonderzulage = .Cells(Zeile, 49).Value * 45 * 100
    Case Else
        Sonderzulage = .Cells(Zeile, 49).Value * 55 * 100

.Cells(Zeile, 52).Value = Sonderzulage
Next Zeile
End With
End Sub
Top
#2
Hallo,

du musst die Select-Anweisung noch abschließen, also vor dem 

Code:
.Cells(Zeile, 52).Value = Sonderzulage
Next Zeile

noch ein End Select
Schöne Grüße
Berni
Top
#3
Hallo,

die Frage hattest Du schon gestellt.
Gruß Stefan
Win 10 / Office 2016
Top
#4
Was soll das denn?  :@
Schöne Grüße
Berni
Top
#5
Shocked 
Hallo,

da hatte ich wohl die Benachrichtigung aus und dachte, das Thema sei untergegangen.

Danke trotzdem, kommt nicht wieder vor
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste