Set; Variabele aan Textbox toewijzen

Status
Niet open voor verdere reacties.

Martijn O

Gebruiker
Lid geworden
18 mei 2009
Berichten
7
Beste mensen,

Zelf begonnen met flink wat gepuzzel in vba en ik heb al veel gehad aan deze site maar deze vraag wil ik jullie voorleggen.

Ik heb een stuk code die ik wil inkorten. Met 'set' kun je een variabele aan objecten toewijzen. Dit is mij gelukt met bijvoorbeeld een spinbutton. Zie onderstaande code:

Code:
Private Sub ActiveBlok1()
Dim n As Integer
Dim m As Integer
 

Dim TBox(1 To ) As spinbutton
Set TBox(1) = SpinButton1
Set TBox(2) = SpinButton2
'In werkelijkheid een stuk langer !

n = 11
m = 0
        
                            
Do Until Sheets("types").Cells(n, 4).Value = 0
    If Sheets("types").Cells(n, 4).Value = 1 Then
    TBox(4 + m).Enabled = True
    TBox(5 + m).Enabled = True
    TBox(6 + m).Enabled = True
        If Frame2.Enabled = True Then
            TBox(79 + m).Enabled = True
            TBox(80 + m).Enabled = True
            TBox(81 + m).Enabled = True
        End If
    End If

n = n + 1
m = m + 3

Loop
End Sub


Nu wil ik dit zelfde principe toepassen op een textbox. Maar als ik volgens bovenstaande methode variabele aan textboxen wil toewijzen lukt mij dit niet. VBA geeft dan aan dat de objectvariabele (waarde) 'nothing' is. Wat dan wil zeggen dat de koppeling verbroken is ?

Waar gaat het fout ? :confused:

Met vriendelijk groet,
Martijn
 
Hiermee kan het ook. Vergeet die objectvariabelen.
Code:
Private Sub ActiveBlok1()
Dim n As Integer, m As Integer
 
n = 11
m = 0
Do Until Sheets("types").Cells(n, 4).Value = 0
  If Sheets("types").Cells(n, 4).Value = 1 Then
    for j= 4 to 6
      Me("spinbutton" & j+m).Enabled = True
      If frame2.Enabled=true then Me("spinbutton" & j+m+75).Enabled = True
    next
  n = n + 1
  m = m + 3
Loop
End Sub
 
Best snb,

Dank je voor de reactie. Dit is inderdaad een mooie oplossing. :thumb:
In één klap al die set regels weg en een stuk compacter.

Als ik tijd heb zal ik deze methode vandaag ook nog toepassen op de textboxen. Het resultaat zal ik hier nog even posten.

Met vriendelijk groet,
Martijn
 
Helaas krijgt een ander project nu voorrang dus dit moet ik even aan de kant schuiven.

Voorlopig is mijn dus vraag opgelost.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan