Jag har ett projektarbete som involverar kodning i VBA och det har gått rätt så bra hittills. Men jag stötte på ett problem när jag behövde skriva ut en formel i en specifik cell som är baserad på de andra cellerna. Jag är rätt säker på att min kod inte stämmer för fem öre (förutom det med Problemlösaren). Det jag vill göra är att få fram formeln (B5*I5+B6*I6+...+BX*IX)/(B5+B6+...+BX) där X är sista cellen som har ett värde. Den formeln vill jag sen skriva ut i I5.
Jag har lyckats att skriva koden så att jag får ut ett statiskt värde i I5 (se kommentardelen av koden)
, men jag skulle behöva en formel där istället
Please help
Mvh / Martin
Jag har lyckats att skriva koden så att jag får ut ett statiskt värde i I5 (se kommentardelen av koden)
, men jag skulle behöva en formel där istället
Please help
Mvh / Martin
Kod:
Sub MinRisk() ' ' MinRisk Macro ' ProblemlösarenÅterställ Do Until (Worksheets("equityPortfolio").Range("A" & (assetAmount + 5)) = "") assetAmount = assetAmount + 1 Loop 'Dim t As Double 't = 0 'Dim n As Long 'n = 0 Dim x As Long For x = 1 To assetAmount ProblemlösarenLäggTill CellRef:="$B$" & (4 + x), Förhållande:=1, Formel:="$G$" & (4 + x) 't = t + Range("B" & (4 + x)) * Range("I" & (4 + x)) 'n = n + Range("B" & (4 + x)) ' Denna del är väldigt modifierad och fungerar inte Range("K5").Formula = "=((sum(($B$(4 + x))*(I & (4 + x))))/(sum((B & (4 + x)) )" Next x 'Range("K5").Formula = "=(t / n)" ' ingen formel, bara statiskt värde, går inte att optimera! ProblemlösarenOK Målcell:="$K$5", MaxMinVärde:=2, VärdeAv:="0", _ JusterbaraCeller:="" ProblemlösarenLäggTill CellRef:="$B$5:$B$" & (4 + assetAmount), Förhållande:=3, Formel:="0" ProblemlösarenLäggTill CellRef:="$E$2", Förhållande:=2, Formel:="$L$5" ProblemlösarenOK Målcell:="$K$5", MaxMinVärde:=2, VärdeAv:="0", _ JusterbaraCeller:="$B$5:$B$" & (4 + assetAmount) ProblemlösarenLös End Sub