Jeg tror nu jeg klarede det ved at bruge run kommandoen i stedet for.
Slet koden 'Workbook_Open()' også
Du har denne kode i ThisWorkbook modulet
Private Sub Workbook_Open()
On Error GoTo ErrHandler:
Call koden
ErrorHandle:
exit sub
End sub
Her er en måde at slette kode på, sæt den i Module1
Public Sub koden()
' din nuværende Kode
Call DeleteCode
End Sub
Sub DeleteCode()
''Needs Reference Set To _
' "Microsoft Visual Basic For Applications Extensibility"
'Tools>References.
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .CountOfLines
End With
With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
.DeleteLines 1, .CountOfLines
End With
End Sub
det vil sige koden kører 1 gang og sletter så sig selv
Hej kabbak
Det vil også slette min beforeclose kode, ik´?
Det skal den nemlig ikke, kan du evt. lige sætte lidt kommentarer i koden så jeg kan forstå hvad der sker.
Det jeg vil forsøge er at lave noget sikkerhed således at det kun kan åbnes på een computer ved at huske hvor det er installeret, og slette muligheden for at ændre min sub koden herefter ved at slette sub koden.
Håber det er forståeligt?
Jeg har til en vis grænse løst det men for at undgå fejl meddelelser, kunne det være godt at se lidt andre muligheder.
OK, jeg prøver at forklare
Sub DeleteCode()
''Needs Reference Set To _
' "Microsoft Visual Basic For Applications Extensibility"
'Tools>References.
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 3' sletter KUN linje 3 i ThisWorkbookmodulet
End With
With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
.DeleteLines 1, .CountOfLines' sletter alle linjer i Module1
End With
End Sub
Okay tak, kabbak -> Den var sku´godt nok lidt svær at få til at spille rigtigt.
Men kan få excel til automatisk at vælge/indlæse referencer?
''Needs Reference Set To _
' "Microsoft Visual Basic For Applications Extensibility"
'Tools>References.
Lægger du et svar, så godkender jeg det.
Et eks. jeg syntes ikke det er alle pc´er som fx kan genkende denne kommando
Textbox1.value = Date
Mens det virker på andre