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

vereenvoudigen om toe te voegen VBA

Status
Niet open voor verdere reacties.

Deadyoullbe

Gebruiker
Lid geworden
25 okt 2016
Berichten
21
Ik heb laatst voor mezelf voor op mijn werk een excel bestandje gemaakt die grofweg laat zien hoeveel tijd ik per dag kwijt ben aan analyses uitvoeren.
Nu het bestandje werkt perfect al zeg ik het zelf. Als er een nieuw product toegevoegd moet worden kost dit ook nauwelijks tijd.
Het probleem is als ik een analyse wil toevoegen dan moet ik 20 verschillende dingen aanpassen, ik vroeg me af of de macro op de een of andere manier anders kan zodat die exact hetzelfde doet, maar dat als er iets moet worden toegevoegd (of weggehaald natuurlijk) dat dit niet in 20 stappen moet maar in minder dan 5 kan.

bestand in bijlage:
Bekijk bijlage Lab planning.xlsm
 
Beste,

Wat zijn die "20 verschillende dingen" die je moet aanpassen? Wil je dat de ene subroutine na de andere wordt uitgevoerd? Zijn er voorwaarden opdat een subroutine mag uitgevoerd worden?
 
Beste,

Wat zijn die "20 verschillende dingen" die je moet aanpassen? Wil je dat de ene subroutine na de andere wordt uitgevoerd? Zijn er voorwaarden opdat een subroutine mag uitgevoerd worden?

zoals je in het bestand kan zien is er een lijstje analyses: visual, geur, residu g, etc...
Die staan ook in de db tabbladen, als er een analyse (variabele) bij komt, ik noem maar wat, geleidbaarheid, ofzo dan moet ik die ten eerste bij alle tabbladen toevoegen, dat vind ik niet zo'n probleem, maar in de macro sub lab_planning() moet ik dan een nieuwe dim toevoegen en alles doorspitten om zeker te zijn dat deze ook correct gebruikt wordt in de macro.
 
Beste,

De structuur zal moeten aangepast worden zodat er in de diverse tabbladen een nieuwe kolom aangemaakt worden op basis van een toevoeging in tabblad planning. Daarom zou het nuttig zijn de vba-code van meer commentaar te voorzien en een gedetailleerde opsomming te maken van alle manuele handelingen bij een nieuwe analyse. Ik zie ook dat je voor elke dag een pak vba-code herhaalt. Ik denk dat het korter kan maar daarvoor moet ik meer inzicht krijgen in jouw code.
Wil je het bestand zonder digitale handtekening opslaan? Want de macro's worden geblokkeerd.
 
Laatst bewerkt:
Wil je het bestand zonder digitale handtekening opslaan? Want de macro's worden geblokkeerd.

De handtekening is weg, ik heb hier en daar wat notities toegevoegd.

De macro hoeft geen dingen toe te voegen in het excelbestand als er een analyse bij komt, het gaat er mij om dat elke analyse een eigen object heeft en ik moet die overal toevoegen als er iets nieuws bij komt, dat kost erg veel gedoe, als dat makkelijker kan dan wil ik dat graag weten.

Bekijk bijlage Lab planning.xlsm
 
Beste,

Mag ik uit jouw vraag :

Het probleem is als ik een analyse wil toevoegen dan moet ik 20 verschillende dingen aanpassen, ik vroeg me af of de macro op de een of andere manier anders kan zodat die exact hetzelfde doet, maar dat als er iets moet worden toegevoegd (of weggehaald natuurlijk) dat dit niet in 20 stappen moet maar in minder dan 5 kan.
afleiden dat je na het invoeren van een nieuw item met al zijn parameters in één van de 3 databases dit item momenteel niet meegenomen wordt in de telling op het opmaken van de planning?

Ik vrees dat je subroutine planning compleet moet herschreven worden indien je wilt dat deze "intelligenter" wordt. Ik kan mij de structuur momenteel moeilijk visualiseren. Een schema (tekening) waarin je stap na stap schrijft wat je doet en hoe je het doet, is voor mij duidelijker dan de commentaar in de vba-code.

Jouw helpen is voor mij een uitdaging maar door de "lengte" van de vba-code raak ik het overzicht kwijt. In eerste instantie moeten we erin slagen om de code "van maandag tot vrijdag" universeel te maken en ze in een afzonderlijke sub te stoppen. Zo wordt de vba-code korter.
 
Laatst bewerkt:
Ik zal zo duidelijk proberen te schrijven wat er precies gebeurt in de macro, ik snap em zelf natuurlijk want ik heb em geschreven :p.

stap 1: het zetten van alle objecten op hun startwaarden.
stap 2: errorhandler, als er een error is, sla de waarde over en ga naar de volgende (wordt dadelijk hopelijk duidelijker)
stap 3: in tabblad planning H2 tot L17 op 0 zetten (was niet noodzakelijk maar deed ik voor de zekerheid)
stap 4: 'maandag: we beginnen bij maandag, dus deze zoekt naar het woord maandag in tabblad planning in de range("A1:E1")offset(1, 0).select
stap 5: deze kijkt of de cel voldoet aan een aantal voorwaarden: of de cel leeg is en of de bovenste cel van de kolom een dag van de week bevat.
zo ja dan vult hij bij betreffende dag in range("H1:L17") in welke waarden er bij de analyses past, (deze zijn daar gekomen door de invuller. hij zet alle objecten weer op startwaarde en begint weer opnieuw bij de volgende dag t/m vrijdag.
zo nee dan gaat die verder met het vergelijken ofdat de cel een bepaalde productnaam heeft, als hij die vind dan kijkt hij naar de celkleur, komt die overeen met een gekende kleur die verwijzen naar verschillende klanten of losse analyses dan gaat hij naar betreffende db van de klant, zoekt hij het product, en gaat hij naar de invuller.
stap 6: de invuller kijkt in de rij van het product welke analyses er hoe vaak gedaan worden, deze telt hij op bij het totaal tot dan toe.
stap 7: hij gaat naar de volgende cel van de dag en doet het riedeltje opnieuw tot een lege cel wordt berijkt.
stap 8: als vrijdag is bereikt vult hij voor het laatst vrijdag in en stopt hij de macro.
 
Beste,

Ik heb jouw vba-code afgeprint en ik heb een vermoeden dat de vba-code eenvoudiger kan door de info in andere tabellen te stoppen. Maar daarvoor wil ik eerst telefonisch overleggen. Neem daarvoor contact op via berre51 at gmail dot com.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan