Geachte mensen,
Ik ben bezig met een Access project met een koppeling naar Excel. Access vult de excel sheet met gegevens en hierna wordt de layout van de Excel sheet verbeterd. Nu loop ik tegen een performance probleem aan. Ik tracht de regelhoogte van een regel net zolang te vergroten zodat het laatste stuk aan het eind van de pagina wordt afgebeeld. Ik probeer dit op de volgende manier op te lossen:
Wat er dus gebeurt is dat de regel net zolang wordt verhoogd met 12,75 totdat het aantal pagina's is verhoogd. Wat het probleem is dat de volgende code erg lang duurt:
iHpBreaks = objSht.HPageBreaks.Count + 1
iVBreaks = objSht.VPageBreaks.Count + 1
totalpages1 = iHpBreaks * iVBreaks
Ik vergroot dus steeds de regel totdat er een extra pagina benodigd is. Als dit het geval is wordt de laatste verhoging weer teruggedraaid zodat het einde van de excel sheet pas echt aan het einde van de pagina wordt getoond. Het opnemen van deze teksten in een voettekst is niet mogelijk aangezien hier ook nog variabelen uit access in komen te staan.
In totaal is dit stukje code tot 40 seconden bezig. Ik denk dat dit sneller moet kunnen en vroeg me af of jullie nog een andere methode hebben of een tip.
Alvast bedankt,
Met vriendelijke groet,
Menno
Ik ben bezig met een Access project met een koppeling naar Excel. Access vult de excel sheet met gegevens en hierna wordt de layout van de Excel sheet verbeterd. Nu loop ik tegen een performance probleem aan. Ik tracht de regelhoogte van een regel net zolang te vergroten zodat het laatste stuk aan het eind van de pagina wordt afgebeeld. Ik probeer dit op de volgende manier op te lossen:
Code:
iHpBreaks = objSht.HPageBreaks.Count + 1
iVBreaks = objSht.VPageBreaks.Count + 1
totalpages = iHpBreaks * iVBreaks
Ready = 0
Do While Ready = 0
hoogte = objSht.Rows(lastregel + 2).RowHeight
objSht.Rows(lastregel + 2).RowHeight = hoogte + 12.75)
iHpBreaks = objSht.HPageBreaks.Count + 1
iVBreaks = objSht.VPageBreaks.Count + 1
totalpages1 = iHpBreaks * iVBreaks
If totalpages <> totalpages1 Then
Ready = 1
objSht.Rows(lastregel + 2).RowHeight = (hoogte - 12.75)
End If
Loop
Wat er dus gebeurt is dat de regel net zolang wordt verhoogd met 12,75 totdat het aantal pagina's is verhoogd. Wat het probleem is dat de volgende code erg lang duurt:
iHpBreaks = objSht.HPageBreaks.Count + 1
iVBreaks = objSht.VPageBreaks.Count + 1
totalpages1 = iHpBreaks * iVBreaks
Ik vergroot dus steeds de regel totdat er een extra pagina benodigd is. Als dit het geval is wordt de laatste verhoging weer teruggedraaid zodat het einde van de excel sheet pas echt aan het einde van de pagina wordt getoond. Het opnemen van deze teksten in een voettekst is niet mogelijk aangezien hier ook nog variabelen uit access in komen te staan.
In totaal is dit stukje code tot 40 seconden bezig. Ik denk dat dit sneller moet kunnen en vroeg me af of jullie nog een andere methode hebben of een tip.
Alvast bedankt,
Met vriendelijke groet,
Menno
Laatst bewerkt: