Formules definiëren in een array ---> op welke manier naar excelsheet??

Status
Niet open voor verdere reacties.

VBAnieuweling

Gebruiker
Lid geworden
5 okt 2011
Berichten
7
Allen,

momenteel tracht ik op basis van 1 datadump in excel een hele hoop interessante rapporten te creëren.

In het verleden heb ik deze rapporten één voor één opgesteld (tabblad per tabblad) maar bestand werd dermate groot (lay - out rapporten) dat het niet meer werkbaar was.

Dus dacht ik om ieder rapport in een vba-code te steken en deze keer per keer op te roepen wanneer nodig. D.w.z. dat we eerst lay-out van rapport vastleggen in VBA-code en vervolgens de formules toe voegen waarna rapport berekend kan worden.

Ik heb nu een Array vastgelegd als string.

In deze Array(arr1) ben ik van plan om de nodige formules te definiëren :

vb.

arr1(4, 1) = "=SUM(R[-13]C:R[-13]C[1])"


Wanneer ik deze nu naar worksheet breng, wordt in mijn rapport deze als tekst weergegeven.

myRange = arr1(4,1)
myRange.value = arr1(4,1)
myRange.formula = arr1(4,1)

Deze codes werken allemaal niet.

Ik zou eventueel mijn Array als Variant kunnen definiëren maar daardoor duurt het te lang om mijn Array in worksheet weer te geven.

Array definiëren als Long lijkt mij ook geen oplossing.

Op welke manier krijg ik bovenstaande als een formule in mijn worksheet/rapport??

Alvast bedankt!!
 
Ik kan het niet reproduceren.

Heb dit even in een subje gezet en veranderd cell a10:

Code:
Sub t3()

Dim arr(6, 6) As String
arr(4, 1) = "=sum(R[-1])"
ActiveSheet.Cells(10, 1) = arr(4, 1)
End Sub

*edit* overigens kun je misschien ook templates aanmaken in deze invoegen als extra tabblad. Dit is vaak wat makkelijker te onderhouden. je kunt dan ook je oude bestand opknippen zonder veel extra werk. Maar is natuurlijk afhankelijk hoe dynamisch die rapporten moeten zijn.
 
Laatst bewerkt:
Dank je wel voor snelle reactie!

Als ik nu een 20-tal formules per kolom heb gedefiniëerd, moet ik dan telkens één per één deze naar werkblad brengen?

Rapport per tabblad had ik oorspronkelijk maar door hoeveelheid van rapporten en de opmaak van de rapporten, duurde het een halve tot minuut om rapport te openen.

Vandaar deze oplossing.
 
Ik begrijp de reden, maar je kun ook al die tabbladen afsplitsen als aparte excel files en ze weer invoegen als ze nodig zijn. Mogelijk scheeld dat een hoop werk tov deze methode.

Formules moeten op deze manier inderdaad 1 voor 1 worden ingevoegd. Hoewel mogelijk een volledige string-list wel geplakt kan worden (geen ervaring mee).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan