Kas Excelis on võimalik teha nii, et paneks automaatselt arvud suuruse järgi ritta? Näiteks on kasutusel veerud A, B ja C ning veerus D on A+B+C (AutoSum) ja veeru D järgi oleks vaja reastada read vastavalt D suurusele. Kui muuta ükskõik millises lahtris vastavat väärtust, arvutatakse kohe välja summa reas (D) ja järjestatakse read ümber vastavalt D suurusele ja seda siis automaatselt, tavaline sort käsk ei sobi, kuna seda peab kasutama peale iga väärtuse sisestamist uuesti.
MS Excel
Collapse
X
-
Sildid: Puudub
-
inglise keelne ikka
kahjuks ei saanud täpselt pihta mida ja kuidas teha
salvesta sortimine makrosse ja lase see Worksheet_Change event'iga käima......Comment
-
võta tools -> macro -> visual basic ediror ja viska sinna selline kood:
Eeldades siis, et tahad sortida tabelit, mis on ühes blokis lahtriga A1 (st A1-st võetakse siis niipalju ridasid alla ja paremale, kuipalju leitakse ja siis sellist ruutu sorteeritakse) ning sorteerida A1 all oleva tulba järgi. Muuda vastavalt oma vajadusele.Kood:Private Sub Worksheet_Change(ByVal Target As Range) Range("A1").CurrentRegion.Sort Range("A1") End Sub
Tegelikult sellised asju saab sealtsamast macro alammenüü alt macro recorderiga, kui ise ei oska otse kirjutada. Põhimõtteliselt paned makro salvestama, teed läbi vastavad operatsioonid ja siis pärast seod makro kas mingi nupuga töölehel (sub nupunimi_click näiteks) või mingi üldise eventiga, nagu näiteks praegu worksheet_change.Comment
-
Kui kasutad ainult 5 rida ja veerge A, B, C ja D ning tulemus on vaja peale sisestamist kohe sortida veeru D alusel väiksemast suurema suunas, siis lisa makroaknas (Alt+F11) vasakul Sheet1 aknasse:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 4)).Select
Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 4)).sort _
Key1:=Worksheets("Sheet1").Range(Cells(1, 4), Cells(5, 4))
'
Cells(1, 5).Select
End Sub
' See sordib kõik read automaatselt peale arvu sisestamistComment
-
Enne kursor sobivasse kohta, siis rippmenüüst Windows -> Freeze Panes. Taastamine Windows -> Unfreeze Panes.
Sama võte võimaldab ka vasakult veerge samuti alati nähtavaks jätta, kui veerud ei mahu korraga ekraanile (kursor sobivasse kohta).
Printimiseks, et igal uuel lehel oleks veerupealdised (kui lehti mitu), Page Setup -> Sheet -> Rows to repeat at top (klikk) -> märgid read ja enter.Comment
h34r
vanasti olin exceli expert )
Comment