Prowadząc firmę często spotykam się z problemem zamiany kwoty brutto na netto. Również od Was padło kilka propozycji napisania takiej funkcji, a więc do dzieła!

W pierwszej kolejności musimy znaleźć wzór wyliczania takiej kwoty. Jest to dość proste: kwota brutto, to 123% (dla stawki 23%) kwoty netto. Zatem wystarczy podzielić kwotę przez 123 i pomnożyć razy 100.

Netto = (Brutto/123) * 100

Co w przypadku, gdy stawka VAT jest inna? Wystarczy kwotę Brutto podzielić przez 100 + stawkę VAT. Zatem tworząc funkcję będziemy potrzebowali dwóch wartości od użytkownika: kwoty i stawki VAT, a nasza funkcja zwróci wyliczoną kwotę jako double (liczba zmiennoprzecinkowa):

Teraz wystarczy przepisać nasz wzór na kod VBA:

W taki prosty sposób wyliczamy kwotę netto. Teraz umieśćmy nasz kod w funkcji:

Pozostaje jeszcze jeden problem. Gdy wyliczymy kwotę netto dla 200zł otrzymamy 162,601626zł. Niestety nie jest to poprawna kwota, dlatego należy zaokrąglić ją do dwóch miejsc po przecinku. W tym celu skorzystamy z funkcji Round, która zgodnie z zasadami matematyki (od 5 zaokrągla w gorę) poda nam kwotę w złotówkach:

Na koniec cała funkcja:

Teraz wystarczy wkleić ja do nowego modułu i możemy z niej korzystać do woli. Mnie się bardzo często przydaje 🙂