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

Option buttons in groepsvak schonen

Status
Niet open voor verdere reacties.

WimenBeer

Verenigingslid
Lid geworden
12 sep 2008
Berichten
808
Vrienden,

Ik probeer alle 'Option buttons' in een groepsvak via VBA te schonen.
Het groepsvak heeft 4 'Option buttons' die ik bij het openen van het Excel bestand op uitgeschakeld wil zetten.

Dus in 'ThisWookbook' wil ik een macro opnemen die bij het openen van het bestand alles uitschakeld.

Helaas kon ik daar nix over vinden op google.

Graag hulp.

wimenbeer
 
Test het eens.

Code:
Sub hsv()
Dim obj As OLEObject
  For Each obj In Sheets(1).OLEObjects
   If Left(obj.Name, 12) = "OptionButton" Then obj.object.Value = False
  Next obj
End Sub
 
Harry,

'Option buttons' in een groepsvak zijn schijnbaar geen OLEopbject.

Ik heb het toegepast maar het werkt niet op deze manier.

Weet je misschien well wat 'Option buttons' zijn binnen VBA?

Ik hoor graag

Wim
 
Harry,

Oplossing gevonden

Code:
Dim obj As OptionButton
  For Each obj In Worksheets("Blad1").OptionButtons
   If Left(obj.Name, 13) = "Option Button" Then obj.Value = False
   
  Next obj
 
Wim, je moet dan wel vermelden dat je formulierbesturingselementen gebruikt en geen Active-X besturingselementen, want dan werkt de macro van HSV wel hoor, zelfs in een groepsvak ;)
 
Ik heb de Nederlandse versie Excel.
Bij een ActiveX-besturingselement heet het een 'OptionButton'.
Bij een Formulierbesturingselement heet het een 'Keuzerondje'.
Vandaar die keuze.

Maar je hebt het zelf al opgelost. ;)
 
Voor wie geïnteresseerd is een robuustere (want niet afhankelijk van de naam) versie:

Code:
Sub snb()
  For Each it In Sheets(1).OLEObjects
    If typename(it.object)= "OptionButton" Then it.object.Value = False
  Next
End Sub

en testen of een optionbutton een optionbutton is lijkt me 100 % redundant:

Code:
Sub snb()
    For Each it In OptionButtons
        it.Value = True
    Next
End Sub
 
Laatst bewerkt:
Beetje jammer dat het niet werkt @snb, was je mooi van de functie 'left' af.
 
@HSV

iets verder kijken dan...

Code:
Sub snb()
  For Each it In Sheets(1).OLEObjects
    If typename(it.object)= "OptionButton" Then it.object.Value = False
  Next
End Sub
 
@snb,
Jij komt met een halve oplossing, daar kan ik niets aan doen. :P
 
Collega's

Discussuie is zeer op zijn plaats.
Het is echter niet mijn persoonlijke probleem. Ik probreer een andere vraag van iemand op te lossen en liep tergen dit probleem op.
Volgens mij werkt mijn oplossing perfect (en die van jullie ook).
Ik ga weer verder met de oorspronkelijke melding en hoop daarmee iemand te helpen..

Wim
 
Je hebt dan toch mijn opmerking over redundantie over het hoofd gezien....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan