Public Sub werkt maar ten dele

Status
Niet open voor verdere reacties.

PascalPascal

Gebruiker
Lid geworden
17 jun 2007
Berichten
9
Bij het aanroepen van een Public sub worden de instructies daarbinnen niet uitgevoerd

In module 1:
Public Sub Calculatie ()
Userform01textbox01 = Worksheets("X").Range("Y")
End Sub

In module Userform01
Private Sub Commandbutton01_Click (0)
Call Calculatie
End Sub

Niets in Textbox01 helaas. Wat moet er anders?
 
Bij het aanroepen van een Public sub worden de instructies daarbinnen niet uitgevoerd

In module 1:
Public Sub Calculatie ()
Userform01textbox01 = Worksheets("X").Range("Y")
End Sub

In module Userform01
Private Sub Commandbutton01_Click (0)
Call Calculatie
End Sub

Niets in Textbox01 helaas. Wat moet er anders?
Ben je niet een paar punten vergeten?
Code:
Userform01.textbox01
Zet bovenin je module Option Explicit en laat het CALL statement achterwege.
 
Guus,

Bedankt voor je reactie.
De naam is slechts als voorbeeld, daar ligt het niet aan.
Call wel of niet maakt ook geen verschil.

Wat doet die Option Explicit?

PascalPascal
 
F1: Used at module level to force explicit declaration of all variables in that module.

Dwingt dus af dat je je variabelen declareert voor je ze gebruikt. Dit ivm de variabele Userform01textbox01 die eigenlijk Userform01.textbox01 moest zijn.

Voeg een voorbeeldje toe van je probleem dat praat makkelijker.
 
Laatst bewerkt:
Beste Guus,

Het probleem bleek niet daar te zitten. Ik heb het nu anders opgelost, het werkt en de vraag lijkt dus beantwoord.
Bedankt voor het meedenken
 
Op welke manier heb je het nu opgelost?
Daar ben ik wel benieuwd naar.
 
Ik heb meerdere userforms. Informatie uit userform X is nodig in userform X+1. Dat had ik eerst geprobeerd in de code van userform X op te nemen.

Gesimplificeerd:
Private Sub A ()
If Xtextbox= 1 Then X+1textbox = 1
End if

Dat werkte niet. Toen dacht ik het via een Public sub in een Module op te lossen. Werkte ook niet. Die sub heb ik toen met iets anders getest en dat werd wel uitgevoerd.
Hetgeen me op het idee bracht dat er iets anders mis zou zijn.
De invoer gaat naar Excel en daar werd door 0 gedeeld. Daardoor liep VB vast. Dus fout in Excel hersteld.

Tevens voer ik nu gegevens die ik in X+1 nodig heb eerst naar Excel, waardoor ze op elk moment en overal beschikbaar zijn om in VB binnen te halen.
Waar nodig worden die gegevens opgehaald via

Private Sub UserForm_Initialize()
End Sub

Zodat ze daar meteen gedisplayed kunnen worden.

Ik hoop dat ik duidelijk heb kunnen maken

PascalPascal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan