Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: keskiarvo päätöskursseista

Heglund [06.01.2013 18:32:01]

#

Tässä seuraava pulma. minkälaisen koodin mun täytyy tehdä VBA:ssa jos alue on A9:A29 ja täytyisi laskea keskiarvo päätöskursseista. Ilmeisesti täytyy käyttää MID funktiota, LEN funktiota ja Left funktiota. Tässä luvut ja ne on alueella A9:A29.

Pvm$Päätös (€)$Avaus (€)$Ylin (€)$Alin (€)$Vaihto (kpl)$Vaihto (€)
30.12.2010$20,05$20,25$20,28$20,05$716 547$14 434 661
29.12.2010$20,21$20,30$20,34$20,21$709 881$14 369 542
28.12.2010$20,29$20,21$20,29$20,21$521 644$10 563 414
27.12.2010$20,21$20,24$20,32$20,16$369 925$7 484 591
23.12.2010$20,29$20,25$20,33$20,21$554 344$11 236 385
22.12.2010$20,25$20,20$20,35$20,19$1 051 836$21 312 464
21.12.2010$20,20$20,19$20,27$20,12$896 965$18 109 185
20.12.2010$20,19$20,10$20,30$20,08$720 899$14 572 725
17.12.2010$20,09$20,16$20,26$20,09$1 418 070$28 588 231
16.12.2010$20,18$20,27$20,31$20,10$838 742$16 932 397
15.12.2010$20,22$20,19$20,26$20,04$1 221 013$24 673 605
14.12.2010$20,18$20,10$20,18$19,99$713 628$14 343 360
13.12.2010$20,08$20,02$20,13$19,98$602 280$12 090 497
10.12.2010$20,04$20,22$20,31$19,97$1 764 444$35 414 404
9.12.2010$20,35$20,20$20,35$20,13$1 300 509$26 353 597
8.12.2010$20,09$19,99$20,20$19,96$877 991$17 640 430
7.12.2010$20,01$19,98$20,17$18,75$1 286 659$25 775 665
3.12.2010$19,89$20,07$20,09$19,71$1 666 801$33 184 322
2.12.2010$20,01$19,47$20,01$19,41$1 981 132$39 100 465
1.12.2010$19,32$19,00$19,45$18,91$2 862 344$55 209 469

Grez [06.01.2013 18:55:59]

#

Miksei noi ole omissa sarakkeissaan?

Itse käyttäisin Mid, Len ja Left asemesta Split -funktiota.

Sub LaskeKeskiarvo()
    Dim Summa As Double, r As Long
    Summa = 0
    For r = 10 To 29
        Summa = Summa + CDbl(Split(ActiveSheet.Cells(r, 1), "$")(1))
    Next
    MsgBox "Keskiarvo on " & (Summa / 20)
End Sub

Heglund [07.01.2013 07:16:58]

#

Joo tuo koodi on selvästi lyhyempi ja selkeämpi. Itse meinasin tätä kautta koodata mutta keskeisin koodi oli hakusessa :)

Sub Keskiarvo()
    Dim i As Integer
    Dim Keskiarvo As Long
    Sheets("2. Keskiarvo").Select
    For i = 9 To 29



    Next
    Range("J6").Value = Keskiarvo
End Sub

Mod. lisäsi taas kooditagit, ole hyvä ja laita jatkossa itse!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta