Help!

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

Hulp bij posten

Recente topics

Auteur Topic: VBA-code versnellen/aanpassen/opschonen...  (gelezen 12236 keer)

0 leden en 1 gast bekijken dit topic.

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #75 Gepost op: 07 september 2021, 09:47:35 »
@BlackDevil,
Citaat
alvorens mijn volledige code overhoop te gooien.
Gewoon in een nieuw bestand testen, lijkt me te kloppen.
(Ik mag toch hopen dat je iedere keer bij veel wijzigingen in de code dit steeds in een nieuw bestand doet..., versie1, versie2, versie3)


@Montagnard,
Wat goed dat je dit hebt opgelost.
Ik heb eens gezocht op "what does listbox.integralheight"  en weer wat te doen.
Groet,

Albert

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #76 Gepost op: 07 september 2021, 10:01:47 »
Albert , ik had ook eerst die functie "listbox.integralheight" gebruikt in de initalizatie code van de UF maar dat werkte NIET , dan gewoon bij de eigenschappen van de listbox zelf "Integralheight" op "false" gezet en dat werkt wél .

dit was de code die ik eerst had aangemaakt :

Private Sub UserForm_Initialize()
ListBox2.Height = 142: ListBox1.Height = 142
ListBox2.IntegralHeight = False : ListBox1.IntegralHeight = False

ListBox1.List = Application.Transpose(Sheets("Data").ListObjects("tblListings").HeaderRowRange.Value)
End Sub

Mvg,
Montagnard
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #77 Gepost op: 09 september 2021, 11:52:37 »
Goedemiddag allemaal,

Ik heb eigenlijk nog een algemeen kennisvraagje...

Ik heb een aantal codeblokjes die in meerdere macro's achter mijn UF voorkomen.
Is het mogelijk om zulks codeblok bvb in een module te plaatsen en dan vanuit die meerdere macro's
dit codeblok aan te roepen ipv in elke macro telkens het volledige codeblok te moeten plaatsen?

(Is gewoon om te zien hoe ik mijn code wat overzichtelijker, korter en properder kan opbouwen)

Alvast dank op voorhand.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #78 Gepost op: 09 september 2021, 12:09:29 »
Hallo BlackDevil,

een codeblok dat je meermaals wilt gebruiken zet je in een aparte macro (bvb Sub test())

In de andere macro's, op het punt waar je Sub Test wilt uitvoeren, typ je op een nieuwe lijn gewoon Test

Sub Black ()
code1.....
code2.....
Test
Code3....
Code4....
End sub
Na het uitvoeren van Code2 zal de macro verder gaan met Sub Test() en daarna terug keren naar Code3...

:) 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 BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #79 Gepost op: 09 september 2021, 12:17:23 »
Hey SoftAid,

Bedankt voor je snelle reactie. _/-\o_

Ik ga dit onmiddellijk eens uittesten se...  ;)


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #80 Gepost op: 09 september 2021, 15:06:43 »
Onthoud wel dat het over en weer springen tussen modules de uitvoeringstijd aanzienlijk verlengt.

Had laatst nog een bestand gekregen van iemand met de vraag de uitvoering te versnellen.

Alles stond ook in aparte modules en was gelinkt met extra argumenten om het volgende codeblok te draaien. De uitvoeringstijd bedroeg 30 sec.

Na het herschrijven tot 1 codeblok bedroeg de uitvoeringstijd nog 0.3 sec.
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #81 Gepost op: 09 september 2021, 15:31:05 »
@warme bakkertje,

Hartelijk dank voor de tip  :thumbsup:, deze zal ik zeker in het achterhoofd houden.

In het huidig bestand denk ik dat het best zal meevallen, het zijn 2 codeblokjes van elk 8 lijntjes code welke in 4 verschillende macro's voorkwamen en waarvoor ik dus nu de aanwijzingen van SoftAid gevolgd heb...


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #82 Gepost op: 10 september 2021, 09:46:58 »
goeie voormiddag allemaal,

Na nog enkele kleinigheidjes aangepast te hebben om de code wat op orde te zetten heb ik nu (hopelijk) de definitieve versie van mijn bestand. Doch zou ik voor alle zekerheid aan de experten hier willen vragen om eens te kijken of er toevallig nog codeblokjes zijn die al dan niet toch nog beter opgebouwd zouden kunnen worden.
(om enerzijds toekomstige problemen binnen het bestand te voorkomen maar vooral ook zodat ik mijn kennis kan blijven verbeteren en naar de toekomst toe alsmaar betere code zal kunnen schrijven).

Alvast dank op voorhand. In bijlage de recentste versie van mijn bestand.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #83 Gepost op: 10 september 2021, 21:08:56 »
Hallo BlackDevil,

Mag ik als "niet-expert" ook reageren. ;D ;D
Ik heb eens vluchtig door de codes gekeken.
Wat me al vrij snel opviel waren een aantal overbodige selects.

Zelf zou ik de data op blad Rek Overzichten in een echte tabel zetten.
Kijk eens in de topic van Montagnard in het voorlaatste voorbeeldbestand.( reactie #21)
Met jouw kennis zou dit moeten lukken, alleen extra kolom voor de 2e spaarrekening en een kolom voor easy-save toevoegen.
Verder heb ik nog niet gekeken.
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #84 Gepost op: 10 september 2021, 21:44:39 »
Mag ik als "niet-expert" ook reageren. ;D ;D
uiteraard  ;D, alle feedback is welkom
Citaat
Ik heb eens vluchtig door de codes gekeken.
Wat me al vrij snel opviel waren een aantal overbodige selects.
Inderdaad, voor de globale werking van het bestand zal dit geen specifieke meerwaarde geven, het
is dan ook louter voor mezelf een puur visueel detail in de werkbladen.
Citaat
Zelf zou ik de data op blad Rek Overzichten in een echte tabel zetten.
Ivm een echte tabel voor 'rek-overzichten' had je dit eerder in dit topic reeds aangehaald (reactie #2)
waarvoor ik dan graag verwijs naar mijn eerdere reactie #5 hierop.
Verder wil ik aan die reactie #5 nog toevoegen dat de huidige opmaak van dit werkblad op deze wijze voor mij
het meest overzichtelijk en netjes is. Daarom ook dat ik het zo ontworpen heb.

Maar ik apprecieer zeker je feedback  ;)  :thumbsup:

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #85 Gepost op: 11 september 2021, 11:54:50 »
Hallo BlackDevil,

Even ivm. reactie#5

Tabellen kun je allerlei kleuren geven( dus ook geen kleur)
Gestreepte rijen kun je uitschakelen.
Je kunt een totaalrij toevoegen etc, etc.
Ga gewoon eens in de tabel staan en click op tabelontwerp boven in het lint.
Gewoon eens een beetje experimenteren. ;D
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA-code versnellen/aanpassen/opschonen...
« Reactie #86 Gepost op: 11 september 2021, 14:32:24 »
Goeienamiddag Albert,

Ik begrijp eerlijk gezegd niet zo goed waarom je blijft aandringen om op 'rek-overzichten' een échte tabel te gaan gebruiken.
Zoals ik in mijn reactie #5 alsook in mijn reactie #84 proberen te verduidelijken heb, heb ik voor het werkblad 'rek-overzichten' totaal géén behoefte aan een échte tabel. En dat heeft totaal niets te maken met beperkte kennis ofzo want ik heb al honderden keren gebruik gemaakt van échte tabellen in andere bestanden.

Het moet dan ook een gewoon simpel 'overzicht' blijven en geen ware 'gegevenstabel' worden.

Mijn bericht #82 had dan ook totaal géén betrekking op de opmaak/lay-out van de werkbladen maar wél op de opbouw van de codeblokken in de macro's.
De opmaak/lay-out van de werkbladen zijn zoals ik ze wil, volledig aan mijn persoonlijke voorkeuren en werkwijze aangepast (iets wat voor elk individu anders is).

Om af te sluiten verwijs ik graag nog even naar je bericht #26 in de topic van Montagnard  ;) ;).

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com