• 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.

Tabblad verbergen maar VBA functie behouden

Status
Niet open voor verdere reacties.

Groen13

Gebruiker
Lid geworden
11 apr 2012
Berichten
13
In het Excel bestand kan op het tabblad "absent" een naam ingevuld worden, er wordt dan automatische een nieuw tabblad aangemaakt met deze naam. Nu wil ik graag het tabblad "Lay-out" verbergen maar wel zo dat er telkens nieuwe bladen bij blijven komen. Als je via tabblad verbergen kiest of in VBA visible XLsheetveryhidden selecteert komt er geen nieuw tabblad meer bij maar verandert het tabblad "absent" in de nieuwe naam... wie kan iets in de VBA veranderen zodat het tabblad Lay-out "verborgen" kan worden en telkens nieuwe bladen bij blijven komen?
 

Bijlagen

Je zal steeds het tabblad Layout tijdelijk zichtbaar moeten maken om te kopieëren en daarna terug verbergen.
Hierover is er meer dan voldoende code te vinden op dit of een ander forum.
 
Hoi Rudi, dank je voor je snelle reactie! het gaat er juist om dat andere gebruikers dit blad niet kunnen verwijderen en de opmaak niet kunnen wijzigen
 
Lees nog eens zeer aandachtig mijn antwoord door.
Tijdelijk = zichtbaar maken, kopieëren, verbergen.
Dit gaat zo snel in een macro dat de gebruiker het niet eens merkt.:eek:
 
Beste mensen de afgelopen tijd overal gekeken maar alleen maar deel oplossingen gezien... Wie kan voor het voerbeeld bestand bewerken zodat deze: Tijdelijk = zichtbaar maken, kopieëren, verbergen. en dan dus een tabblad heeft?

B.v.d.
Erik
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim sh       As Worksheet
  If Not Intersect(Target, Columns(12)) Is Nothing Then
  Application.ScreenUpdating = False
  If Target.Count > 1 Then Exit Sub
  If Target <> "" Then
      On Error Resume Next
      Set sh = Sheets(Target.Value)
      If sh Is Nothing Then
          With Sheets("Lay-out")
              .Visible = -1
              .Copy after:=Sheets(Sheets.Count)
              ActiveSheet.Name = Target.Value
              .Visible = 2
          End With
      Else
          MsgBox "Het werkblad " & Target.Value & " bestaat reeds!" & vbLf & "FATAL ERROR"
      End If
      sh = Nothing
  End If
  End If
  Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan