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

Button mét code verwijderen

Status
Niet open voor verdere reacties.

angelokonijn

Gebruiker
Lid geworden
14 mrt 2011
Berichten
18
ik heb een excelbestandje gemaakt waarin verschillende schoolklassen worden weergegeven (zie bijlage, orgineel is iets ingewikkelder). Als ik een nieuwe klas wil toevoegen dan druk ik op de button in de sheet 'blanco klas'. Dit gaat prima maar ik zou graag willen dat de button in deze nieuwe sheet wordt verwijderd én tegelijkertijd de code die onder de button zit. Anders krijg ik namelijk bij elke sheet die ik invoeg die code automatisch en daardoor wordt het bestand traag (in het orgineel zitten namelijk nog meer buttons en checklisten die na het kopieeren verwijderd moeten worden)

Weet iemand hoe je de code van een button/checklist automatisch verwijdert als de button wordt gedelete?

ps. de button in sheet 'blanco klas' moet uiteraard wel blijven werken.
 

Bijlagen

  • Probleem klas.xls
    27,5 KB · Weergaven: 13
angelo,

zie bijlage
 

Bijlagen

  • Probleem klas(1).xls
    38,5 KB · Weergaven: 24
probeer het volgende bestand is.
Hij maakt een nieuw tabblad aan met de naam Klas en de waarde opgegeven in B1

Als het tabblad al bestaat geeft hij een melding.

In de vba code staat ook nog een stuk dat je er voor kan kiezen om eventueel gelijk het tabblad weg te laten gooien en opnieuw aan te maken.

Hoop dat dit is wat je zochtBekijk bijlage Probleemklas.xlsm
 
Met onderstaande kan je bladcode verwijderen. Aangezien je een nieuw werkblad aanmaakt kan je de nieuwe naam in een variabele steken en deze gebruiken in de macro om de code te verwijderen
Code:
Sub RemoveSheetCode()

  Dim Doc As Object
  Dim Sht As String
  Dim VBproj As Object
  
    Sht = "Sheet1"
    Set VBproj = Application.VBE.ActiveVBProject
    Set Doc = VBproj.VBComponents.Item(Sht).CodeModule
    
     With Doc
       .DeleteLines 1, .CountOfLines
     End With
      
End Sub

PS Je moet wel de verwijzing Microsoft Visual Basic for Applications Extensibility 5.0 aanvinken alvorens de code te gebruiken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan