-
1. Data: 2009-05-05 15:22:48
Temat: makro w excelu
Od: "SUPszon" <k...@o...pl>
Witam,
wklepałem do arkusza formułki obliczające potrzebną mi wartość (gwarancję
zaspokojenia potrzeb użytkownika przem.)
Moim zadaniem jest teraz przeprowadzenie symulacji - są dwie wartości, każda
niezależna od drugiej
(pojemność zbiornika i potrzeby użytkownika przemysłowego), które mam
podmieniać tzn.
wpisuje min. pojemność użytkownika, potem min. potrzebę, spisuje gwarancję,
podstawiam
kolejną potrzebę (większą o delta p od poprzedniej), spisuje gwarancję aż do
podstawienia max potrzeby.
W tym momencie wpisuje kolejną założoną pojemność zbiornika (powiększoną o
delta V od poprzedniej) i
"jadę" od nowa.
Od razu powiecie mi - stwórz odpowiednią pętlę w VBA.
Niestety nie wiem jak zmusić excela, aby w kolejnych krokach wypisywał
obliczone gwarancje w kolejnych komórkach arkusza kalkulacyjnego.
Proszę o jakąś wskazówkę
-
2. Data: 2009-05-05 21:36:37
Temat: Re: makro w excelu
Od: "SUPszon" <k...@o...pl>
Udalo mi sie rozwiazac problem samodzielnie:
Dim i, k, r, deltap, deltaVU, VU, P As Double
deltaVU = Sheets("QDEK3").Range("R19")
deltap = Sheets("QDEK3").Range("R13")
Sheets("QDEK3").Range("S17").Copy Sheets("Arkusz1").Range("C5")
Sheets("QDEK3").Range("S11").Copy Sheets("Arkusz1").Range("C6")
VU = Sheets("Arkusz1").Range("C5")
P = Sheets("Arkusz1").Range("C6")
r = 1310
For i = 1 To 26
'to jest petla od pojemnosci zbiornika
For k = 1 To 11
Sheets("Arkusz1").Range("C5").Copy Cells(r, 8)
Sheets("Arkusz1").Range("C6").Copy Cells(r, 9)
'gwarancja czasowa
Cells(r, 10) = Cells(6, 16).Value
'KIR
Cells(r, 11) = Sheets("Arkusz1").Range("B16").Value
'KER
Cells(r, 12) = Sheets("Arkusz1").Range("B22").Value
'KIZ
Cells(r, 13) = Sheets("Arkusz1").Range("B31").Value
'KEZ
Cells(r, 14) = Sheets("Arkusz1").Range("B32").Value
P = Sheets("Arkusz1").Range("C6")
P = P + deltap
Sheets("Arkusz1").Range("C6").Select
ActiveCell.FormulaR1C1 = P
r = r + 1
Next k
r = r + 1
VU = VU + deltaVU
Sheets("Arkusz1").Range("C5").Select
ActiveCell.FormulaR1C1 = VU
Sheets("QDEK3").Range("S11").Copy Sheets("Arkusz1").Rang