Loop of niet?

Status
Niet open voor verdere reacties.

WhiteSky

Gebruiker
Lid geworden
15 feb 2018
Berichten
54
Hoi,

In de bijgevoegde excel heb ik 2 knoppen op het tabblad "Week X" en "Huidige Week" staan (zelfde macro's eronder).
Ik ben echt nog nieuw in het schrijven in VBA en vraag me af of ik het in een loop had kunnen schrijven. en zoja, zal het de macro sneller doen gaan?
De knop "opslaan" duurt bijna 2 min. Het is dus de bedoeling dat ik maar enkele tabbladen nodig heb voor een heel jaar planning te kunnen zien (1tje voor de huidige week te houden en 1 of meerdere voor de volgende weken te plannen en vorige terug te zien)

Alvast bedankt,

WhiteSkyBekijk bijlage 2019.xlsm
 
Al eens iets gelezen over een voorbeeldbestand? Als je dit soort matrixformules gebruikt:

Code:
=IF(MOD(MONTH(E$3);3)=0;IF(TODAY()>E$3;IF(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH(MONTH(E$3)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0))=E$3;"FD-kasten";"");IF(ISBLANK(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH(MONTH(E$3)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0)));"FD-kasten";""));IF(MOD(MONTH(E$3)+1;3)=0;IF(TODAY()>E$3;IF(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH((MONTH(E$3)+1)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0))=E$3;"FD-kasten";"");IF(ISBLANK(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH((MONTH(E$3)+1)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0)));"FD-kasten";""));IF(MOD(MONTH(E$3)+2;3)=0;IF(TODAY()>E$3;IF(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH((MONTH(E$3)+2)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0))=E$3;"FD-kasten";"");IF(ISBLANK(INDEX('Week-Kwartaal-Maandtesten'!$O$4:$O$26;MATCH((MONTH(E$3)+2)/3;IF('Week-Kwartaal-Maandtesten'!$L$4:$L$26=$C4;'Week-Kwartaal-Maandtesten'!$M$4:$M$26);0)));"FD-kasten";"")))))

dan denk ik dat de opzet niet al te logisch is.
 
Laatst bewerkt:
Nog een hoop op je bestand aan te merken.

1). Sheets("gegevens") is helemaal leeg.
2). Samengevoegde cellen.
3). Waar WAAR staat lijkt me ONWAAR logischer.
Code:
=ALS(ISLEEG(VERT.ZOEKEN($D$2;Shiften!$J$6:$AQ$58;2;WAAR));"";VERT.ZOEKEN($D$2;Shiften!$J$6:$ACP$58;2;WAAR))

Om het in een loop te zetten wordt een puzzel, maar dat krijg je met samengevoegde cellen.

Al met al geen vraag die aan mij besteed is (zulke bestanden sluit ik graag direct).
 
Hulp is zeker welkom, Toen wist ik nog niets van het kunnen van VBA af. Nu Waarschijnlijk ook niet in vergelijking van sommige.
Ivm het tabblad "Gegevens". Het is dus de bedoeling dat de gegevens van de planning die in de eerste 2 tabbladen gemaakt worden hierin wordt opgeslagen, en is dus logisch als dit leeg is. Heb Hier niets van hoofding ofzo nodig, het gaat niet de bedoeling zijn dit tabblad te bekijken.
 
Als je cel voor cel de data gaat wegschrijven dan worden je malle formules elke keer herberekend. Dus of in 1 keer wegschrijven of het berekenen even tijdelijk uitzetten zal wat tijdwinst opleveren.
 
Bv

Code:
Sub VenA()
  Application.Calculation = xlManual
  Sheets("Gegevens").Cells(Range("D2"), 2).Resize(450) = Array(Range("F6"), Range("G6"), Range("H6"), etc)
  Application.Calculation = xlAutomatic
End Sub
 
VenA

Bedankt nu is het inderdaad op een paar seconden allemaal weggeschreven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan