Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Macro automatisch laten uitvoeren bij bepaalde activiteit  (gelezen 7164 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Macro automatisch laten uitvoeren bij bepaalde activiteit
« Gepost op: 20 mei 2021, 06:53:22 »
Hallokes allen,

Ik heb voor een bestandje een vrij simpele macro geschreven welke achter een opdrachtknop zit.
Het betreft een artikelenlijst waarin ik wekelijks aanduid wat er gekocht moet worden.
Als ik dan op de opdrachtknop klik word op een tweede werkblad automatisch de correcte lijst per
winkel aangemaakt.
Nu zou ik dat eventueel verder willen automatiseren door die lijst automatisch te laten bijwerken
zodra er in de hoofdtabel iets wijzigt in de (zoek)kolom waar het aantal wordt ingegeven.
Dus dat de werkelijke winkellijst gegenereerd word zonder een opdrachtknop te moeten gebruiken.
Is dit mogelijk en zoja, hoe pak ik dit aan?

Alvast dank.

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 JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #1 Gepost op: 20 mei 2021, 10:46:49 »
De macro die je hebt werkt bij mij niet.
Als je dit reactief wilt hebben zou ik toch kiezen voor formules. Heb je office 365?

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #2 Gepost op: 20 mei 2021, 11:07:46 »
Hey Veerj,

Bedankt voor je respons.
Raar dat het bij jou niet werkt, hier werkt hij perfect.
Nee, ik werk met office 2016.

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 JeanPaul

  • Volledig lid
  • **
  • Berichten: 116
  • Oplossing.be
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #3 Gepost op: 20 mei 2021, 11:12:10 »
Kolom voor Kruitvat ontbreekt

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #4 Gepost op: 20 mei 2021, 11:13:02 »
ik heb Office 365 en het werkt bij mij....
Mvg,
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: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #5 Gepost op: 20 mei 2021, 11:17:54 »
Kolom voor Kruitvat ontbreekt

Hey Jean-Paul,

Dat weet ik. Dit komt omdat hetgene ik daar héél af en toe koop, online gekocht word.
De werkelijke winkellijst op het tweede werkblad is speciaal om te kunnen afdrukken voor
mijn dochter die nu al ruim een jaar de fysieke boodschappen in mijn plaats doet (omwille
van corona (ben risicopatiënt)). Dus voor het kruidvat heb ik die weergave niet nodig.

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 JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #6 Gepost op: 20 mei 2021, 11:20:57 »
Ik zou het zo doen met een matrixformule. Ik heb de Aldi even voorgedaan. (formule afsluiten met control shift enter)

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #7 Gepost op: 20 mei 2021, 11:22:01 »
Je kan gebruik maken van het Worksheet_Change event maar dan zou ik er toch serieus over nadenken om de code te herschrijven want zoals hij nu is

heb je heel wat onnodig over en weer geschrijf.

Ik zou al eens beginnen met het bekijken van Select Case ipv telkens voor elke winkel dezelfde code terug te laten lopen.
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #8 Gepost op: 20 mei 2021, 11:25:15 »
Waarom ingewikkeld maken?

in blad eff_lijst
Private Sub Worksheet_Activate()
winkellijst
End Sub
Groet,

Albert

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #9 Gepost op: 20 mei 2021, 11:34:22 »
Zo wordt altijd een macro gerund terwijl het helemaal niet nodig hoeft te zijn. Je kunt er voor kiezen maar lijkt mij niet wenselijk, helemaal als de dataset groot is.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #10 Gepost op: 20 mei 2021, 11:36:43 »
Je kan gebruik maken van het Worksheet_Change event maar dan zou ik er toch serieus over nadenken om de code te herschrijven want zoals hij nu is

heb je heel wat onnodig over en weer geschrijf.

Ik zou al eens beginnen met het bekijken van Select Case ipv telkens voor elke winkel dezelfde code terug te laten lopen.

Hey warme bakkertje,

Inderdaad, ik weet dat de code korter en efficiënter kan, alleen heb ik nog maar enkel ervaring met de For... Next... lussen, vandaar dat ik het voorlopig
zo had gecodeerd.
Ik zal zeker die Select Case eens nader bestuderen.
Alvast dank voor de tip  :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 BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #11 Gepost op: 20 mei 2021, 11:51:11 »
@allen,

Terwijl ik toch naar die Select Case ging zoeken op het internet, terwijl ook eens die Change event opgezocht.
Heb volgende code toegevoegd
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2:D100")) Is Nothing Then
Call winkellijst
End If
End Sub
En hij doet exact wat ik in gedachten had.

Nu nog even verder uitzoeken hoe ik de code van mijn macro moet opbouwen als ik de Select Case zou gebruiken.

Bedankt voor alle tips.

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 JeanPaul

  • Volledig lid
  • **
  • Berichten: 116
  • Oplossing.be
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #12 Gepost op: 20 mei 2021, 12:13:53 »
Zoals jij het wil en met een winkellijst per winkel met validaitie

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #13 Gepost op: 20 mei 2021, 12:49:28 »
@JeanPaul,

Hartelijk dank voor jouw bijdrage.

Maar de bedoeling is dat ik gewoon onmiddellijk de lijstjes per winkel
bij mekaar heb staan zodat ik ze samen op één blad kan afdrukken zodat
mijn dochter weet wat ze juist moet meebrengen. En dit zonder hulpkolommen ed.
Ook de eenheidsprijs hoeft helemaal niet op het winkellijstje te staan, enkel de
totale prijs per artikel (bepaald volgens het gekozen aantal) en dan het subtotaal
van alle winkels tezamen voor wat er die bepaalde week moet gekocht worden
zodat ik weet hoeveel budget ik telkens moet meegeven.
Dus gewoon enerzijds mijn hoofdtabel waar ik de aantallen invul naargelang wat er
nodig is en anderzijds het complete wekelijkse boodschappenlijstje waarmee mijn dochter
dan naar de winkel gaat. Niks meer, niks minder.

Dus in het werkblad "alg_lijst" vul ik bij de artikels die ik nodig heb gewoon het
aantal en als ik dan naar het werkblad "eff_lijst" ga, staan daar onmiddellijk de
correcte lijsten die ik dan op één blad kan afdrukken.
En dit zonder eerst elke winkel afzonderlijk te moeten kiezen en afdrukken.

Toch bedankt voor de moeite.

Maar afgezien van het feit dat de lus-code eventueel korter kan doet mijn code
exact wat de bedoeling was.
Het enige wat ik er nog aan wou automatiseren was dat de lijst automatisch
aangemaakt werd zodra er in de kolom 'aantal' iets zou wijzigen en dat doet hij nu
met die change event die ik eraan heb toegevoegd.

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: Macro automatisch laten uitvoeren bij bepaalde activiteit
« Reactie #14 Gepost op: 20 mei 2021, 12:57:19 »
Citaat
als ik dan naar het werkblad "eff_lijst" ga
Zie reactie #8, of mis ik iets? ;)

De macro runt alleen als je blad eff_lijst activeert.
Lijkt mij voldoende.
Groet,

Albert

 


www.combell.com