Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
09.09.2014 21:46:06 |
Tobi |
|
|
Workbook_NewSheets TabellenNamen über InputBox festlegen |
10.09.2014 12:10:35 |
jhs |
|
|
|
10.09.2014 14:30:11 |
Gast16305 |
|
|
|
10.09.2014 18:03:45 |
jhs |
|
|
Von:
jhs |
Datum:
10.09.2014 12:10:35 |
Views:
708 |
Rating:
|
Antwort:
|
Thema:
Workbook_NewSheets TabellenNamen über InputBox festlegen |
Hallo,
erstens heißt das Ereignis Workbook_NewSheet (und nicht NewSheets).
Zweitens solltest du prüfen, ob ein gültiger Name eingegeben wurde:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim vntName As Variant, blnOK As Boolean, wks As Worksheet, _
objRegEx As Object, objMatch As Object
Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.Global = True
.Pattern = "[\\\/\:\*\?]"
End With
blnOK = True
Do
vntName = Application.InputBox( _
Prompt:="Geben Sie einen Namen für das neue Blatt ein:", _
Title:="Blatt einfügen", _
Type:=2)
If vntName = False Then
MsgBox "Einfügen abgebrochen"
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
Exit Sub
End If
If vntName = "" Then
MsgBox "Sie müssen einen gültigen Tabellennamen eingeben."
blnOK = False
End If
If Len(vntName) > 31 Then
MsgBox "Der eingegebene Name ist zu lang."
blnOK = False
End If
For Each wks In ThisWorkbook.Worksheets
If wks.Name = vntName Then
MsgBox "Der eingegebene Name existiert bereits." & vbCrLf & _
"Geben Sie einen anderen Namen ein."
blnOK = False
Exit For
End If
Next wks
Set objMatch = objRegEx.Execute(CStr(vntName))
If objMatch.Count > 0 Then
MsgBox "Der Name enthät unzulässige Zeichen (\/:*?)."
blnOK = False
End If
Loop Until blnOK
Sh.Name = vntName
Set objMatch = Nothing
Set objRegEx = Nothing
End Sub
Die Prüfung auf unzulässige Zeichen mit RegExp stammt von Nepumuk.
Und drittens: (Name), also den Codenamen, kannst du nur manuell im Eigenschaftsfenster des VBA-Editors ändern.
Gruß Jürgen
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
09.09.2014 21:46:06 |
Tobi |
|
|
Workbook_NewSheets TabellenNamen über InputBox festlegen |
10.09.2014 12:10:35 |
jhs |
|
|
|
10.09.2014 14:30:11 |
Gast16305 |
|
|
|
10.09.2014 18:03:45 |
jhs |
|
|