Ich möchte einen Code aufrufen, wenn ein Worksheet verlassen wird, das ein Name von "1", "2", ... oder "31" hat.
Leider kann ich verschiedene Probleme nicht lösen:
1. funktioniert bei mir
Private Sub Worksheet_deactivate() nicht - konnte jedoch nicht herausfinden, wie es genau _
lauten muss
2. Wie kann ich bei meinem "Case" die Namen "1", "2", ... bis "31" einschliessen?
3. Was ist mit
lngLast = ActiveSheet(Cells(Rows.Count, 3)).End(xlUp).Row
falsch?
4. Wie kann ich sicherstellen, dass die Zahlen in Spalte C nur ganze Zahlen anzeigt?
Vielen Dank für eine Rückmeldung.
Peter
Private Sub worksheet_deactivate()
Call atext_to_zahl
End Sub
Sub atext_to_zahl()
Dim zelle As Range
Dim s As String, xxname As String
Dim lngLast As Long
xxname = ActiveSheet.Name
Select Case xxname
Case "31"
lngLast = ActiveSheet(Cells(Rows.Count, 3)).End(xlUp).Row 'ermittlung der letzten Zeile in Spalte C
For Each zelle In Worksheets(xxname).Range("C2:C" & lngLast)
s = zelle.Value
If s "" And IsNumeric(s) Then
s = s * 1 'aus String, die wie Zahl aussieht, wird eine Zahl
zelle.Value = s
End If
Next zelle
End Select
End Sub