Ich durchsuche gerade meine Macros, ob irgendwo ein Select oder Activate oder Value entfernt werden kann.
Jetzt habe ich ein Macro, was ich hier aus dem Forum habe und nicht mehr weiter weiß, wie ich die select Funktion umgehen kann:
Sub Loeschen()
Dim Zelle As Range
For b = 1 To 2
If b = 1 Then Sheets("Besetzung").Select: Spalte = "B": c = 2
If b = 2 Then Sheets("s").Select: Spalte = "F": c = 6
For a = 1 To 80
Cells(a, c).Select
If Right(Range(Spalte & a), 5) = " Std." Then
For Each Zelle In Selection
Zelle = Left(Zelle, Len(Zelle) - 8)
Next
End If
If Left(Range(Spalte & a), 2) = "?-" Then
For Each Zelle In Selection
Zelle = Right(Zelle, Len(Zelle) - 4)
Next
End If
If Left(Range(Spalte & a), 1) = "?" Then
For Each Zelle In Selection
Zelle = Right(Zelle, Len(Zelle) - 3)
Next
End If
Next a
Next b
End Sub
Das Macro sucht in 2 verschiedenen Tabellenblättern (Besetzung oder s) in verschiedenen Spalten (B oder F) nach Zellen, wo entweder
1. die letzten 5 zeichen " Std." sind, und löscht dann die letzten 8 Zeichen. (Mitarbeiter geht " -2 Std." früher = 8 Zeichen)
2. die ersten zwei mit "?-", und löscht dann die ersten 4 Zeichen. (Mitarbeiter hat angefragt wegen "?-2 " Stunden früher gehen = 4 Zeichen)
3. das erste Zeiche ein ? ist, und löscht dann die ersten 3 Zeichen. (Mitarbeiter hat angefragt "?1 " wegen ganz frei = 3 Zeichen)
wie bekomme ich das Macro ohne select hin?
MfG
Karsten J.