CurrentUser rašė: > Kazko tylu. Tikriausiai neaiskiai parasiau. > Cia turima raumeny Gyv.pajamu mokescio skaiciavimo formule iskaitant > lengvatas uz vaikus GPM įstatymas, žinok, ne trijų puslapių dydžio ir bendras GPM apskaičiavimo algoritmas yra gana sudėtingas, nes GPM suma apskaičiuojama vertinant visus/įvairius apmokestinimo aspektus ir niuansus (kuriuos žino tik tas, kas tą GPM apskaičiuoja): įvairių rūšių pajamos, įvairiausios išlygos/sąlygos, lengvatos. (Pvz.: gavai palikimą, pardavei (kada, kaip, už kiek) NT, automobilį, grybų pusę tonos ir t.t.?) Jei reikia apskaičiuoti GPM tik darbo santykių pajamų kontekste, tai ir tokiu atveju, reikia visų pirma pasikliauti buhalteriu, o ne o.programming... O šiaip, GPM305/GPM308 yra tekstinis failas ir visas VBA kodas jame puikiai matyti. Kaip ir tokie perliukai, kurie priverčia nusišypsoti: objRE.Pattern = "^\d\d\d\d\d\d\d$" '7 Set Matches = objRE.Execute(reiksme) For Each Match in Matches if match.value=reiksme then log=true Next objRE.Pattern = "^\d\d\d\d\d\d\d\d\d$" '9 Set Matches = objRE.Execute(reiksme) For Each Match in Matches if match.value=reiksme then log=true Next objRE.Pattern = "^\d\d\d\d\d\d\d\d\d\d$" '10 Set Matches = objRE.Execute(reiksme) For Each Match in Matches if match.value=reiksme then log=true Next objRE.Pattern = "^\d\d\d\d\d\d\d\d\d\d\d$" '11 Set Matches = objRE.Execute(reiksme) For Each Match in Matches if match.value=reiksme then log=true Next case "IBAN" objRE.Pattern = "^LT\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d$" ' LT + 18N Set Matches = objRE.Execute(reiksme) Taip ir įsivaizduoju, kaip trindami akis bent kelis sykius iš eilės skaičiavo \d ir net komentarą pridėjo, kiek tų \d turi būti... :-) Vietoje viso šio kvailoko šmoto buvo galima parašyti: 'objRE.Pattern = "^(\d{7}|\d{9}|\d{10}|\d{11})$" objRE.Pattern = "^(\d{7}|\d{9,11})$" if objRE.Test(reiksme) then log=true end if Na, nukrypau. Žodžiu: to VBA kodo — *daug*, kaip ir dera GPM algoritmo sudėtingumui ir jis gana kreivas ir painus. Todėl nieko gero be doro supratimo ką ir kam darai, nebus...