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

VBA-coding verwijderen

Status
Niet open voor verdere reacties.

Thoralf

Terugkerende gebruiker
Lid geworden
29 okt 2007
Berichten
1.418
Ik heb een werkmap met daarin op een Blad2 en een Blad3 VBA-coding die op events reageert (On Change en On Deactivate).
In een VBA-module maak ik een nieuwe werkmap aan met copieen van deze bladen.
Nu wil ik via VBA deze coding bij de Bladen2 en 3 verwijderen. Voor andere bladen moet de coding wel blijven.
Ik heb via
Code:
Set vbCom = Application.VBE.ActiveVBProject.VBComponents
    For i = 1 To 31
        aa = vbCom.Item(i).Name
        Blad1.Range("G" & 360 + i).Value = aa
    Next
verder achterhaalt dat het hier om de componenten 3 en 4 gaat.
Met
Code:
Set vbCom = Application.VBE.ActiveVBProject.VBComponents  
    vbCom.Remove VBComponent:=vbCom.Item(3)
    vbCom.Remove VBComponent:=vbCom.Item("Blad2")
    vbCom.Remove VBComponent:=vbCom.Item("Blad2(Bladnaam)")
wil het niet lukken.
Wat werkt wel?
 
Bedoel je zoiets?
Code:
Sub DeleteSheetEventCode()
    For Each sh In Sheets
        If sh.CodeName = "Blad1" Or sh.CodeName = "Blad2" Then
            With ThisWorkbook.VBProject.VBComponents(sh.CodeName).CodeModule
                .DeleteLines 1, .CountOfLines
            End With
        End If
    Next
End Sub
 
Ja dat is wat ik zocht.
Dank voor de snelle reactie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan