Code door code laten schrijven

Status
Niet open voor verdere reacties.

tazman_1

Gebruiker
Lid geworden
18 feb 2006
Berichten
14
Is het mogelijk om de code een nieuwe code te laten schrijven in de VBE als ie de andere code doorlopen heeft...?
bv als je op knop1 geklikt hebt loopt de code om bepaalde dingen te doen in je file, daarna wil je met VBA een nieuwe knop toevoegen(gepositioneerd op een bepaalde cel) en aan die knop moet dan de daarop volgende code gehangen worden.


groetjes
 
Dynamisch knoppen toevoegen gaat niet in Excel/Access. Wat je wel kan doen is alvast alle knoppen neerzetten die je mogelijkerwijs nodig gaat hebben en die onzichtbaar maken.

HTH:D
 
Dynamisch knoppen toevoegen gaat niet in Excel/Access. Wat je wel kan doen is alvast alle knoppen neerzetten die je mogelijkerwijs nodig gaat hebben en die onzichtbaar maken.

HTH:D


ok dat is zover duidelijk, maar is het wel mogelijk om de code nieuwe code te laten schrijven..?
 
Ja dat kan; zeker in Excel en Word.
De vraag is alleen of het wel zo handig en verstandig is.
Waarom kun je niet van tevoren bedenken wat er in je programma nodig is en zorgen dat dat allemaal aanwezig is.
Het muggeziften (debugging) van VBA die VBA maakt is beperkt.

Voorbeeld om een vinkvak in een gebruikersformulier te zetten:
Code:
Sub tst()
    With ThisWorkbook.VBProject.VBComponents("Userform1").Designer.Controls.Add("Forms.CheckBox.1")
         .Name = "Vinkvak1"
         .Caption = "Controle 1"
         .Left = 10
         .Top = 10
         .Height = 20
         .Width = 60
      End With
End Sub
 
Volgens mij heb ik het niet helemaal goed uitgelegd.
Ik zou graag willen weten of het mogelijk is dat je door een VBA code te laten lopen in Excel een nieuwe code creërt in de VBE
 
Als je een knop wil toevoegen in het blad op de plaats van cel E2
en de macro tst in blad1 daaraan wil koppelen:

Code:
Sub Macro17()
  With ActiveSheet.Buttons.Add(Cells(2, 5).Left, Cells(2, 5).Top, 90, 24)
    .OnAction = "Blad1.tst"
  End With
End Sub
 
Als je een knop wil toevoegen in het blad op de plaats van cel E2
en de macro tst in blad1 daaraan wil koppelen:

Code:
Sub Macro17()
  With ActiveSheet.Buttons.Add(Cells(2, 5).Left, Cells(2, 5).Top, 90, 24)
    .OnAction = "Blad1.tst"
  End With
End Sub


Ja dat is een gedeelte van mijn vraag, hiervoor alvast mmijn dank :thumb:

En nu zou ik graag als die knop gecreëerd is ook automatisch de code erbij laten schrijven wat ie moet gaan doen als er op die knop geklikt wordt. Of is dit niet mogelijk..?
 
Ja dat is mogelijk, maar dan hebben we het wel over VBA op nivo 7.
Je doet er verstandiger aan de code die je aan de knop wil hechten al in een module te zetten. Dan hoef je, zoals uit mijn vorige post blijkt, alleen maar die koppeling tot stand te brengen met 'onaction'.
 
Ja dat kan; zeker in Excel en Word.
De vraag is alleen of het wel zo handig en verstandig is.
Waarom kun je niet van tevoren bedenken wat er in je programma nodig is en zorgen dat dat allemaal aanwezig is.
Het muggeziften (debugging) van VBA die VBA maakt is beperkt.

Voorbeeld om een vinkvak in een gebruikersformulier te zetten:
Code:
Sub tst()
    With ThisWorkbook.VBProject.VBComponents("Userform1").Designer.Controls.Add("Forms.CheckBox.1")
         .Name = "Vinkvak1"
         .Caption = "Controle 1"
         .Left = 10
         .Top = 10
         .Height = 20
         .Width = 60
      End With
End Sub
zo zie je maar weer ik zal me bij Access houden.
sorry voor de misinformatie.
 
Ja dat is mogelijk, maar dan hebben we het wel over VBA op nivo 7.
Je doet er verstandiger aan de code die je aan de knop wil hechten al in een module te zetten. Dan hoef je, zoals uit mijn vorige post blijkt, alleen maar die koppeling tot stand te brengen met 'onaction'.


Dank je.... :thumb: waar kan ik VBA op nivo 7 leren..?
Ik wil daar toch wel meer van weten, vind het een interessante materie
 
Op welk nivo zit je nu ?
Het idee: bouw op ; begin met een VBA-boek. Worstel dat helemaal door, dan ben je op nivo 2.
Voor een aantal suggesties op nivo 3: klik op mijn ondertekening.

Wil je een cursus: verzamel 5 lotgenoten en we maken een afspraak.
 
Laatst bewerkt:
Ok bedankt.... ik zal een aantal VBA boeken nodig hebben om op nivo 7 te komen.. ;)

Nog bedankt voor alle geboden hulp, het was zeer nuttig...!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan