ich hab mich wieder im VBA Dschungel verirrt und krieg mein Makro nicht hin. Vielleicht kann mir jemand von euch auf die Sprünge helfen.
Also folgendes: Ich habe ein Makro, dass neue Tabellenblätter einfügt und sie benennt entsprechend dem Inhalt einer Zelle. Das ganze läuft für jede Zelle die in Spalte B nicht leer ist.
Jetzt ist es allerdings so, dass dieser Name zum einen länger als 31 Zeichen sein kann und ggf. sogar unzulässige Zeichen enthält. Weiß jemand wie ich den Tabellenblatt Namen nach dem 15 Zeichen abschneiden kann und falls "verbotene Zeichen" enthalten sind diese gegen ein Leerzeichen ersetzten kann?
Habs über eine Activesheet.Name = Left(...;15) versucht, krieg aber den Bezug zum frisch erstellten Tabellenblatt nicht hin.
Und bei der Prüfung nach Sonderzeichen bin ich völlig ratlos, außer dass es eine mit "If" anfängt..
Hier wäre der entsprechende Code Ausschnitt:
For myRow = 4 To myLastRow ' Schleife für alle Zeilen ab zeile 2 bis letzte
If Worksheets(1).Cells(myRow, 7).Value = "yes" Then ' prüfen ob anwendbar
Sheets("blanco").Select
Sheets("blanco").Copy Before:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Cells(myRow, 2)
?
Worksheets(1).Hyperlinks.Add Anchor:=Cells(myRow, 9), Address:="", SubAddress:=ActiveSheet.Name & "!B3", TextToDisplay:="Go to worksheet"
End If
Next myRow
(..)
Vielen lieben Dank für eure Hilfe!