• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bladnaam in userform

Status
Niet open voor verdere reacties.
@SNB,
Moeder Theresa en haar naamgenoten zullen nooit een zichtbaar tabblad krijgen :D
Code:
Private Sub CommandButton1_Click()

   Dim bGeenNaam As Boolean, NieuweNaam As String

   On Error GoTo CommandButton1_Click_Error
   Application.ScreenUpdating = False

   'Naam wijzigen

   For i = 1 To 7
      bGeenNaam = (Me("TextBox" & i).Text Like "res#" Or Len(Me("TextBox" & i).Text) = 0)   'geen naam of res# voor je werkblad
      NieuweNaam = IIf(bGeenNaam, "res" & i, CStr(Me("TextBox" & i).Value))   'naam die je aan dat tabblad wil geven
      If Evaluate("ISREF('" & NieuweNaam & "'!A1)") Then   'check of er al een werkblad bestaat met die naam
         i0 = Sheets(NieuweNaam).Index           'indexnummer van een blad met die naam
         If i0 <> i Then                         'beide indexen verschillen !!!
            MsgBox "je werkblad " & i0 & " noemt al zo !" & vbLf & "Dus je naam " & NieuweNaam & " kan geen 2e keer gebruikt worden", vbCritical, "Probleem met de naamgeving van je werkblad " & i
            NieuweNaam = "fout"
         End If
      End If
      If NieuweNaam <> "fout" Then Sheets(i).Name = NieuweNaam
      Sheets(i).Visible = -1 - 3 * (Sheets(i).Name Like "res#")
   Next

   'het werkblad feestdagen verbergen
   Sheets("Feestdagen").Visible = xlVeryHidden

   Application.ScreenUpdating = True

   Unload Me

   On Error GoTo 0
   Exit Sub

CommandButton1_Click_Error:

   MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure CommandButton1_Click, line " & Erl & "."

End Sub

In die open-event had je anders ook voor enkele of alle werkbladen die unprotect en daarna protect met userinterfaceonly even kunnen gebruiken, zoals ik vroeger al een keer aangegeven had.
 
Laatst bewerkt:
Mij leek het niet zo'n religieus werkboek :shocked:
Ontbrekende kennis over argumenten bij instr(..) echter wel onzalig.
 
Laatst bewerkt:
Bedankt voor dit studiemateriaal.
Ik ga eerst bekijken of ik precies kan begrijpen wat jouw code doet.
Ik ging er van uit dat de textboxen 1-7 in een loop gecheckt op een dubbele invoer moeten worden.
Niet of er al een sheet met een ingevulde naam bestaat.
Want met de commandbutton wordt op basis van de inhoud van de 7 textboxen Elk tabblad voorzien van een ingevulde naam gewijzigd of niet. De blanco textbox een res1 enz. De res sheets worden dan hidden.
 
er wordt textbox na textbox gekeken of er al een tabblad met die naam bestaat, zo ja, dan moet de volgnummer van het tabblad overeenkomen.
Anders kan je tabblad niet hernoemd worden.
Onze beide achterliggende gedachte is dezelfde, de woordkeuze en de methode van werken verschilt.
Probleemstelling tabblad1, dus tekstbox1 = piet, tabblad2 en textbox2 = paul
Je draait de 2 nu in je userform om, dus eerst paul en daarna piet. Geen dubbele invoer namen, maar toch een probleem bij het hernoemen van je tabbladen.
 
Cow18, bedankt het werkt perfect. En volgens mij snap ik de code ook :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan