Jeg har en formel der ser sådan her ud:
A/3+1=L:
B/2=M:
A/3=Q:
Q*M=N:
L*M=O:
L*8.70+6=X:
X+M*12.85=X:
X+N*5.60=X:
X+O*9.10=X:
X+(B+N)*1.50=X:
X+C*9.60=X:
X+D*Q*12=X:
X+E*7.60=X:
X+F*1.25=X:
X+G*2.85=X:
X+H*4.20=X:
X+I*M*14.60=X:
X+J*M*26.40=X:
X*1.1=X:
K*X*0.0933=P:
X+P=Y:
Y*1.5*1.05=R:
R/70=S:
S*40=T:
T+R=U:
O*2+L=V:
Værdierene i variablerene A til J skal hentes fra felterene A1 til J1 i regnearket,
Og de resultater jeg skal bruge kan jeg hente i variablerene: X Y R S T V U.
Det kan sikkert sagtens ligges ind i et sum felt uden variabler men det ville virke mere overskuelig hvis jeg kunne ligge mellemregningerene i nogle variabler også var jeg også sikker på at gøre beregningerene i den rigtige rækkefølge
Det er nok nemmest at lave det som en makro:
i arket: tryk alt+f11, så åbner makro-editoren. Vælg Modul fra Indsæt-menuen.
Kopier denne kode ind:
Sub Beregn()
Const arknavn As String = "Ark1"
Dim A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y
A = Worksheets(arknavn).Range("A1")
B = Worksheets(arknavn).Range("B1")
C = Worksheets(arknavn).Range("C1")
D = Worksheets(arknavn).Range("D1")
E = Worksheets(arknavn).Range("E1")
F = Worksheets(arknavn).Range("F1")
G = Worksheets(arknavn).Range("G1")
H = Worksheets(arknavn).Range("H1")
I = Worksheets(arknavn).Range("I1")
J = Worksheets(arknavn).Range("J1")
L = A / 3 + 1
M = B / 2
Q = A / 3
N = Q * M
O = L * M
X = L * 8.7 + 6
X = X + M * 12.85
X = X + N * 5.6
X = X + O * 9.1
X = X + (B + N) * 1.5
X = X + C * 9.6
X = X + D * Q * 12
X = X + E * 7.6
X = X + F * 1.25
X = X + G * 2.85
X = X + H * 4.2
X = X + I * M * 14.6
X = X + J * M * 26.4
X = X * 1.1
P = K * X * 0.0933
Y = X + P
R = Y * 1.5 * 1.05
S = R / 70
T = S * 40
U = T + R
V = O * 2 + L
Worksheets(arknavn).Range("X1") = X
Worksheets(arknavn).Range("Y1") = Y
Worksheets(arknavn).Range("R1") = R
Worksheets(arknavn).Range("S1") = S
Worksheets(arknavn).Range("T1") = T
Worksheets(arknavn).Range("U1") = U
Worksheets(arknavn).Range("V1") = V
End Sub
A1-J1 skal indeholde dine data
R1-Y1 er resultaterne
Bemærk at makroen skal køres (Alt+F8, dobbeltklik på makro-navnet), hver gang tallene ændres, det sker ikke automatisk
Du kan indsætte en makroknap til at starte makroen (fra værktøjslinjer i menuen Vis vælges Formularer, fra denne værktøjslinje kan du trække en knap ind på arket og vælge hvilken makro, der skal køre)
Øhh nu jeg har dig der, jeg har aldrig lavet en makro før og og VB er ukendt stof. 1.Hvis A1 til J1 alle indeholder 0 bliver der alligevel genereret et resultat hvordan undgår jeg det. 2.Hvis nogle af felterene A1 til J1 er tomme får jeg en fejl hvordan undgår jeg det, jeg har en ide om at alle variabler skulle have tildelt værdien 0 når de erklæres men hvordan gør jeg