Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Private Sub Cx_0_Click() variabel maken  (gelezen 1158 keer)

0 leden en 1 gast bekijken dit topic.

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Private Sub Cx_0_Click() variabel maken
« Gepost op: 01 november 2020, 10:52:12 »
Beste helpers en oplossers,

Mijn titel zegt het eigenlijk al, maar laat ik het toch maar even toelichten ;)

Ik heb 20 objecten, Cx_0 t/m Cx_19, het zijn Checkboxen die ik een taakje wil laten uitvoeren zodra ik het boxje aanklik.

nu kan ik 20 keer een routine maken, maar ik vroeg mij af of jullie een snellere methode kennen zodat ik de routine niet 19 keer hoef te kopiëren.

Private Sub Cx_0_Click()
LVL_0 = LVL_0 +1
end sub

Private Sub Cx_1_Click()
LVL_1 = LVL_1 +1
end sub

enz...

In werkelijkheid gaat het om een paar regels meer per routine, maar wel telkens dezelfde regels met een steeds 1 oplopende object getal (0 t/m 19)

of zit er niets anders op dan 19 keer dezelfde routine te kopiëren?

Alvast weer bedankt voor uwe zondagse aandacht ;)
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline emields

  • Ervaren lid
  • ***
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #1 Gepost op: 01 november 2020, 11:30:06 »
Plaats een voorbeeldbestand

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #2 Gepost op: 01 november 2020, 11:38:27 »
Hoi emields,

Normaal zou ik dat ook doen, alleen zie ik dat nut hierbij niet zo gezien de vraag.

dat wat ik vraag staat inclusief code al vermeld.
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.172
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #3 Gepost op: 01 november 2020, 12:14:43 »
Hallo Josc1965,

LVL_0 is de naam van je eerst check-box.

Nu wil je een naam met een getal optellen. Dat gaat niet.
Bovendien veranderd de naam van de macro hiermee nog niet!!

Dan kan je beter 20 copietjes maken, dat eet geen brood.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #4 Gepost op: 01 november 2020, 12:24:48 »
Hoi SoftAid,

Verhelderend, ik dacht dat al, maar ja ik vraag het toch maar even ;)

Niet geschoten is altijd mis...

Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #5 Gepost op: 01 november 2020, 12:29:19 »
@ SoftAid,

Zou je niet eerder denken dat Cx_0 de naam van de checkbox is en LVL_0 iets anders;)

@ Johan,

En bovenstaande verklaart meteen waarom emields toch wel gelijk had. Want de vraag wat LVL_0 is heeft toch wel belang. Is het zomaar een variabele of is het ook een besturingselement? In het laatste geval valt het nogal makkelijk op te lossen. Is het evenwel een variabele dan zou het nuttiger zijn, indien al mogelijk uiteraard, om deze LVL(0) te noemen.
In elk geval zal je voor elke checkbox iets moeten voorzien. Dat tot een minimum beperken zou bv. (LVL is hier een variabele) zo kunnen:

Private Sub Cx_0_Click()
g (0)
End Sub

Private Sub Cx_1_Click()
g (1)
End Sub

Private Sub g(nr)
'LVL_0 = LVL_0 + 1
LVL(nr) = LVL(nr) + 1
'rest van de code
End Sub

"g" staat hier voor 'globale code' (gewoon omdat je het zo kort mogelijk wil  :D )
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #6 Gepost op: 01 november 2020, 12:56:50 »
hoi pitufo,

Ikzelf lees weer eens te snel en je hebt gelijk wat betreft Cx_0.

LVL_0 t/m 19 zijn tekstboxen en als dusdanig een besturingselement.

Ik ga eens aan de slag met je suggestie

Thnx voor je input
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #7 Gepost op: 01 november 2020, 13:00:57 »
OK ! Ik laat je dus zelf even proberen. Minstens 99,5% kans geef ik je om dat van die tekstboxen goed te krijgen in de 'globale' code  :)
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #8 Gepost op: 01 november 2020, 13:17:49 »
het werkt ;)

me("LVL"&(nr)) = me("LVL"&(nr)) + 1
Moet het dan wel in veranderd worden, maar het geeft een door mij gewenst resultaat.
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #9 Gepost op: 01 november 2020, 18:26:51 »
Citaat
het werkt
Zie je wel (99.5% was dus laag ingeschat)  ;D

Uit de summiere info in je openingspost kon niet met zekerheid worden afgeleid dat de LVL's besturingselementen waren, vandaar enkel een soort aanzet in #5.
Dus veranderd moest het uiteraard worden (vervolg op het zelf laten proberen...)

Overigens lijkt het me sterk dat het met "LVL"&(nr) zou werken als de besturingselementen LVL_.. heten. Maar ik twijfel er niet aan dat het in je document wel goed staat, dus deze opmerking enkel voor eventuele andere volgers die mogelijk met iets gelijkaardigs willen stoeien.

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline Josc1965

  • Ervaren lid
  • ***
  • Berichten: 279
  • Geslacht: Man
  • Je leert echt wat op "Oplossing.be"
Re: Private Sub Cx_0_Click() variabel maken
« Reactie #10 Gepost op: 01 november 2020, 19:52:50 »
Zie je wel (99.5% was dus laag ingeschat)  ;D

Jouw hulp aan mij was in 99,9% van de gevallen vrijwel direct raak ;) Dus ja je was zééééér terughoudend :D
Johan
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2808
838F
Intel(R) HD Graphics 630 1024MB -
NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
C:\ NTFS 118,01GB 44,78GB 8.079MB
AV: Avast Antivirus
FW: Windows Firewal Enabled: True
Office 2016

 


www.combell.com