Minulla on iso excel-taulokko - 1500 riviä. Joka rivillä on kategoria. Erilaisia kategorioita on 15. Mikä on helpoin tapa saada omiin välilehtiin kunkin kategorian kaikki tiedot helpoiten? Tiedän, että excelistä löytyy funktio, jolla voi hakea tietoa rivi kerralla mutten muista ko. funktion nimeä/käyttötapaa. Onko kellään tietoa? Tai tuleeko muita ratkaisuja mieleen? Huom! taulukkoa päivitetään jatkuvasti eli ratkaisun pitää olla dynaaminen ja mukautua muokkauksiin ilman suurempaa manuaalista muokkausta. Hyväksyn ajatuksen että ensimmäisellä kerralla teen kaikille 15 kategorialle omat välilehdet käsin. edit Offset taitaa olla se komento, jota muistelen.
Excel ei ole kehuttavasti hallussa. Excel tiedon kerääminen hakusanat googleen. Löytyykö apua? mureakuha?
Tollasen tossa pikasesti kirjottelin joku kuka osaa VBA:ta paremmin voipi korjailla virheitä. Eiköhän tolla pääse kuminkin alkuun. EDIT Niin ja kategorioiden lopussa pitää olla tietenkin tuo "END" Sub lehdille() Dim i, k, exists, sheet_nro As Integer Worksheets(1).Activate ActiveSheet.Cells(1, 1).Activate i = 1 Do 'kategorioiden alun sijainti Cells(rivi,sarake) muuta alkurivi ylemmäs i=1 kohtaan If Sheets(1).Cells(i, 1) <> "" Then exists = 0 'Check if category sheet allready exists For y = 1 To Worksheets.Count If Sheets(y).Name = LTrim(Str(Sheets(1).Cells(i, 1).Value)) Then exists = 1 sheet_nro = y Exit For End If Next y 'If not exist then create If exists = 0 Then ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count), Count:=1 ActiveSheet.Name = Sheets(1).Cells(i, 1) Worksheets(1).Activate ActiveSheet.Cells(1, 1).Activate sheet_nro = Worksheets.Count End If 'Next put info to category sheet 'Loop while first empty row is finded k = 1 Do While Sheets(sheet_nro).Cells(k, 1) <> "" k = k + 1 Loop 'copy row from "MAIN"-sheet Worksheets(1).Rows(i).Copy 'paste clipboard to correct location ActiveSheet.Paste Destination:=Worksheets(sheet_nro).Rows(k) End If i = i + 1 Loop While Sheets(1).Cells(i, 1).Value <> "END" End Sub