*

Help!

Problemen met uw pc? De vrijwilligers van oplossing.be zoeken gratis met u mee! 8)

Meer weten over Oplossing.be?

Hoe stel ik een vraag?

Recent

Auteur Topic: Snelle macro  (gelezen 2866 keer)

Offline tonnie

  • Lid
  • *
  • Berichten: 81
  • Geslacht: Man
  • Oplossing.be
Snelle macro
« Gepost op: 18 augustus 2018, 14:51:42 »
Beste mensen,

Hier zitten er 30 van in een macro kan dat sneller?

If Sheets("Werkomschrijving").Range("o11").Value = Sheets("gegevens").Range("h15").Value Then
    Sheets("gegevens").Range("k15").Value = Sheets("Werkomschrijving").Range("l14").Value
    End If
    If Sheets("Werkomschrijving").Range("o11").Value = Sheets("gegevens").Range("h16").Value Then
    Sheets("gegevens").Range("k16").Value = Sheets("Werkomschrijving").Range("l14").Value
    End If

Grt Tonnie

Offline JeanPaul

  • Lid
  • *
  • Berichten: 67
  • Oplossing.be
Re: Snelle macro
« Reactie #1 Gepost op: 18 augustus 2018, 16:17:37 »
die 2 codes zeggen weinig, laat het hele bestand eens zien samen met de macro, misschien met case... select case zou een oplossing zijn.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 17.004
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Snelle macro
« Reactie #2 Gepost op: 18 augustus 2018, 17:58:32 »
tonnie,

maak van die Sub voorblad() maar volgende:

sub voorblad()
For a = 15 To 45
       If Sheets("Werkomschrijving").Range("o11").Value = Sheets("gegevens").Range("h" & a).Value Then
       Sheets("gegevens").Range("k" & a).Value = Sheets("Werkomschrijving").Range("l14").Value
Next
End Sub

:) SoftAid :)             
Wegens veelvuldig melden van dubbelposten, het posten op verschillende help-fora van dezelfde vraag, zijn de gedragsregels op dit forum aangepast. Dubbelposten dient in de toekomst op voorhand gemeld te worden, met een melding en een link naar het topic op de andere site. De helpers wensen een weinig respect voor de inspanningen die ze doen om mensen te helpen. Je doet jezelf ook een plezier. Door je dubbelposten te melden wordt je vraag op meerdere fora beantwoord.

Offline tonnie

  • Lid
  • *
  • Berichten: 81
  • Geslacht: Man
  • Oplossing.be
Re: Snelle macro
« Reactie #3 Gepost op: 18 augustus 2018, 18:51:49 »
 ;D
Toppert jij wist meteen waar het voor was he  :thumbsup:

Thanks.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 17.004
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Snelle macro
« Reactie #4 Gepost op: 18 augustus 2018, 19:26:05 »
Toppert jij wist meteen waar het voor was he  :thumbsup:
Tja Tonnie,

ik heb bijna je hele werkboek hier staan...  ;D

Probeer deze eens in Module 4, Sub leegmaken_werkomschrijving_lijst():

vervang de code:

Sheets("Gegevens").CheckBox1 = False                                               
......
enzovoort tot
......
Sheets("Gegevens").OLEObjects("CheckBox25").Object.caption = "nee"

door

For a = 1 To 25
Sheets("Gegevens").Controls("Checkbox" & a).Value = False
Sheets("Gegevens").OLEObjects("CheckBox" & a).Object.caption = "nee"
Next

De rest van de code moet je natuurlijk laten staan  ;)

Je kan op dezelfde manier een For/Next loop in verschillende andere macro's gebruiken.

:) SoftAid :)             

Wegens veelvuldig melden van dubbelposten, het posten op verschillende help-fora van dezelfde vraag, zijn de gedragsregels op dit forum aangepast. Dubbelposten dient in de toekomst op voorhand gemeld te worden, met een melding en een link naar het topic op de andere site. De helpers wensen een weinig respect voor de inspanningen die ze doen om mensen te helpen. Je doet jezelf ook een plezier. Door je dubbelposten te melden wordt je vraag op meerdere fora beantwoord.

Offline tonnie

  • Lid
  • *
  • Berichten: 81
  • Geslacht: Man
  • Oplossing.be
Re: Snelle macro
« Reactie #5 Gepost op: 18 augustus 2018, 21:58:36 »
Hoi SoftAid,

Hij geeft een foutmelding op de volgende regel:
Sheets("Gegevens").Controls("Checkbox" & a).Value = False
In de caption doet hij wel keurig nee zetten.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 17.004
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Snelle macro
« Reactie #6 Gepost op: 18 augustus 2018, 23:44:15 »
Hallooooo,

zat ik even fout >:(

Volgende code werkt
Sub Leeg_maken_werkomschrijving_lijst()
-----
-----
For a = 1 To 25
cb = ("CheckBox" & a)
Sheets("Gegevens").OLEObjects(cb).Object.Value = False
Sheets("Gegevens").OLEObjects("CheckBox" & a).Object.Caption = "nee"
Next
----
End Sub
Slaap wel 0:-)

:) SoftAid :)             
Wegens veelvuldig melden van dubbelposten, het posten op verschillende help-fora van dezelfde vraag, zijn de gedragsregels op dit forum aangepast. Dubbelposten dient in de toekomst op voorhand gemeld te worden, met een melding en een link naar het topic op de andere site. De helpers wensen een weinig respect voor de inspanningen die ze doen om mensen te helpen. Je doet jezelf ook een plezier. Door je dubbelposten te melden wordt je vraag op meerdere fora beantwoord.

Offline tonnie

  • Lid
  • *
  • Berichten: 81
  • Geslacht: Man
  • Oplossing.be
Re: Snelle macro
« Reactie #7 Gepost op: 19 augustus 2018, 01:31:09 »
 :thumbsup:

 


www.combell.com