Już sześćset lat temu, w czasach, gdy Władysław Jagiełło gromił Krzyżaków, można było nazwać kogoś SZELMĄ, bo już wtedy słowo to było obecne w polszczyźnie. Ale wtedy słowo SZELMA miało całkiem nieszelmowskie znaczenie – w XV w. SZELMA oznaczało ‘dzikie, drapieżne zwierzę’. Dopiero od XVIII w. SZELMA to ‘łotr, hultaj, ladaco’, a od jakichś stu lat – ‘spryciarz’, przy czym kiedy mówimy tak o kimś, to zwykle nasza dezaprobata miesza się jednak z pewnym podziwem.  
W języku czeskim, który również zna to słowo, przejście znaczeniowe było nieco inne: czeskie šelma oznaczało najpierw ‘mór, morowa zaraza, morowe powietrze’, później ‘spryciarz, cwaniak’, a wreszcie ‘bestia, drapieżnik’. I polska SZELMA, i czeska šelma pochodzą od średnio-wysoko-niemieckiego schëlme / schalme, które było najpierw nazwą paskudnej choroby – pomoru bydła. Od tego znaczenia, jeszcze na gruncie niemieckim, powstało wtórne ‘padlina, ścierwo’, a ‘ścierwo’ używane w funkcji obelgi rychło ustabilizowało się jako określenie cwaniaka i łotra spod ciemnej gwiazdy.  

Źródło:

[SJP PWN; USJP; SEJP Bor, 601]