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.
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"
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"