17.06.2020, 12:14
Hallo,
ich habe im Blatt "ALFVerkehre" in einer Mappe
jede Menge Fahrtennummern stehen, die ich von Hand umbenennen muss.
Dafür habe ich mir zur Erleichterung folgendes Makro gebastelt:
Sub AlfUmbenennen()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name = "ALFVerkehre" Then
ws.Columns("B").Replace "3357", "357ALF", LookAt:=xlPart
ws.Columns("B").Replace "3700", "700ALF", LookAt:=xlPart
ws.Columns("B").Replace "3750", "750ALF", LookAt:=xlPart
ws.Columns("B").Replace "3772", "772ALF", LookAt:=xlPart
ws.Columns("B").Replace "3776", "776ALF", LookAt:=xlPart
ws.Columns("B").Replace "3777", "777ALF", LookAt:=xlPart
ws.Columns("B").Replace "3780", "780ALF", LookAt:=xlPart
ws.Columns("B").Replace "3783", "783ALF", LookAt:=xlPart
ws.Columns("B").Replace "3784", "784ALF", LookAt:=xlPart
ws.Columns("B").Replace "3794", "794ALF", LookAt:=xlPart
ws.Columns("B").Replace "3801", "801ALF", LookAt:=xlPart
ws.Columns("B").Replace "3803", "803ALF", LookAt:=xlPart
ws.Columns("B").Replace "3804", "804ALF", LookAt:=xlPart
ws.Columns("B").Replace "3805", "805ALF", LookAt:=xlPart
ws.Columns("B").Replace "3806", "806ALF", LookAt:=xlPart
ws.Columns("B").Replace "3807", "807ALF", LookAt:=xlPart
ws.Columns("B").Replace "3809", "809ALF", LookAt:=xlPart
ws.Columns("B").Replace "3810", "810ALF", LookAt:=xlPart
ws.Columns("B").Replace "3811", "811ALF", LookAt:=xlPart
ws.Columns("B").Replace "3812", "812ALF", LookAt:=xlPart
ws.Columns("B").Replace "3834", "834ALF", LookAt:=xlPart
ws.Columns("B").Replace "3900", "900ALF", LookAt:=xlPart
ws.Columns("B").Replace "3911", "911ALF", LookAt:=xlPart
ws.Columns("B").Replace "3912", "912ALF", LookAt:=xlPart
ws.Columns("B").Replace "3920", "920ALF", LookAt:=xlPart
End If
Next
End Sub
Soweit so gut, nur wenn jetzt eine neue ALFfahrt dazu kommt, muss ich die von Hand in die Liste einbauen.
Wie kann ich das Makro dazu bringen, dass wenn die Fahrtnummer in Spalte B mit einer "3" beginnt UND 4-stellig ist (alleinstellungsmerkmal dieser Fahrtart!)
das Makro die letzten drei Stellen nimmt und ein "ALF" dahinterschreibt?
So das aus z.B. "3357" = "357ALF" entsteht?
So muss ich das über eine definierte Liste machen, aber da gibt es doch bestimmt eine Möglichkeit, dass Excel schaut, wo die Kriterien passen und mir das umbenennt?
Vielen Dank für die Hilfe.
Gruß
Andreas
ich habe im Blatt "ALFVerkehre" in einer Mappe
jede Menge Fahrtennummern stehen, die ich von Hand umbenennen muss.
Dafür habe ich mir zur Erleichterung folgendes Makro gebastelt:
Sub AlfUmbenennen()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name = "ALFVerkehre" Then
ws.Columns("B").Replace "3357", "357ALF", LookAt:=xlPart
ws.Columns("B").Replace "3700", "700ALF", LookAt:=xlPart
ws.Columns("B").Replace "3750", "750ALF", LookAt:=xlPart
ws.Columns("B").Replace "3772", "772ALF", LookAt:=xlPart
ws.Columns("B").Replace "3776", "776ALF", LookAt:=xlPart
ws.Columns("B").Replace "3777", "777ALF", LookAt:=xlPart
ws.Columns("B").Replace "3780", "780ALF", LookAt:=xlPart
ws.Columns("B").Replace "3783", "783ALF", LookAt:=xlPart
ws.Columns("B").Replace "3784", "784ALF", LookAt:=xlPart
ws.Columns("B").Replace "3794", "794ALF", LookAt:=xlPart
ws.Columns("B").Replace "3801", "801ALF", LookAt:=xlPart
ws.Columns("B").Replace "3803", "803ALF", LookAt:=xlPart
ws.Columns("B").Replace "3804", "804ALF", LookAt:=xlPart
ws.Columns("B").Replace "3805", "805ALF", LookAt:=xlPart
ws.Columns("B").Replace "3806", "806ALF", LookAt:=xlPart
ws.Columns("B").Replace "3807", "807ALF", LookAt:=xlPart
ws.Columns("B").Replace "3809", "809ALF", LookAt:=xlPart
ws.Columns("B").Replace "3810", "810ALF", LookAt:=xlPart
ws.Columns("B").Replace "3811", "811ALF", LookAt:=xlPart
ws.Columns("B").Replace "3812", "812ALF", LookAt:=xlPart
ws.Columns("B").Replace "3834", "834ALF", LookAt:=xlPart
ws.Columns("B").Replace "3900", "900ALF", LookAt:=xlPart
ws.Columns("B").Replace "3911", "911ALF", LookAt:=xlPart
ws.Columns("B").Replace "3912", "912ALF", LookAt:=xlPart
ws.Columns("B").Replace "3920", "920ALF", LookAt:=xlPart
End If
Next
End Sub
Soweit so gut, nur wenn jetzt eine neue ALFfahrt dazu kommt, muss ich die von Hand in die Liste einbauen.
Wie kann ich das Makro dazu bringen, dass wenn die Fahrtnummer in Spalte B mit einer "3" beginnt UND 4-stellig ist (alleinstellungsmerkmal dieser Fahrtart!)
das Makro die letzten drei Stellen nimmt und ein "ALF" dahinterschreibt?
So das aus z.B. "3357" = "357ALF" entsteht?
So muss ich das über eine definierte Liste machen, aber da gibt es doch bestimmt eine Möglichkeit, dass Excel schaut, wo die Kriterien passen und mir das umbenennt?
Vielen Dank für die Hilfe.
Gruß
Andreas