Moro!
Kyse olisi eräästä ongelmasta VBA:ssa.
Alla oleva koodinpätkä kopio ehdon täyttämän rivin "muokattu" sheetille. Eli sarakkeessa C on lukuja 2,4,6,8,... ja kun ehto täyttyy eli solussa on luku 10 * i (i=i+1), sheetin kyseinen rivi kopioituu "muokattu" sheetille.
Alla esimerkki datasta:
A B C 1 18.6.2008 19,15 2 2 18.6.2008 18,98 4 3 18.6.2008 18,65 6
Koodin pätkä toimii hyvin mutta haluaisin nyt muuttaa ehtoa. Ehtona olisi, että ohjelma laskee sarakkeen B keskiarvon C sarakkeen väleillä (i-1)*10+2 - 10*i (esim 2-10, 12-20, 22-30 jne) ja syöttää keskiarvon sheettiin "muokattu". Muutos on luultavasti helppo (käyttäen esim komentoa "average"), mutta ei nyt osu silmään.
Olisiko antaa vihjeitä?.
ps. teen melko vähän visualilla töitä, mutta sattumoisin joudun nyt käsittelemään töissä suuria excel tiedostoja. Joudun (pääsen) siis opiskelemaan VBA:ta.
Private Sub CommandButton1_Click() Dim taulu, solu Application.ScreenUpdating = False For Each taulu In Sheets If taulu.Name <> "muokattu" Then For Each solu In taulu.Range("C1:C" + _ CStr(taulu.Cells.SpecialCells(xlCellTypeLastCell).Row)) If solu.Value = 10 * i Then i = i + 1 taulu.Range("A" + CStr(solu.Row) + ":DA" + _ CStr(solu.Row)).Copy Destination:=Sheets( _ "muokattu").Range("A" + CStr(i) + ":DA" + CStr(i)) End If Next End If Next Application.ScreenUpdating = True End Sub
Nopeammin sain excelin kaavoilla ilman VBA:ta... Hieman enemmän kopiointityötä, mutta ei mahdottomia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.