Konkretan problem koji ti se javlja u makrou vezan je za korišćenje Range("Pregled!B17").Value
Rezultat ovoga je tekst (adresa) koju si formirao u B17, što možeš da proveriš u Immediate prozoru
Kad pokušaš da sabereš taj tekst sa numeričkom vrednošću unesenom u E13 dobiješ navedenu grešku "Type mismatch"

Rešenje je da dobijenu adresu koristiš (ponovo) u Range objektu da bi dobio
vrednost iz ćeljije u koju i u upisuješ (npr. B2). Zbog preglednost ja bih to stavio u dva koraka
Code:
Sub Button4_Click()
cellAddress = Range("Pregled!B17").Text
Range(cellAddress).Value = Range(cellAddress).Value + Range("Pregled!E13").Value
End Sub
Što se tiče zavisnih drop down listi mislim da je bilo i na forumu, ali evo jedan zgodan video
https://www.youtube.com/watch?...Sg&ab_channel=LeilaGharani.
U navedenom primeru ne vidim potrebu za tim - jer kako bi unosio novu kupovinu - kupac kupio neki artikl koji nije nikad do sada?
Ja bih formular za upis stavio na poseban list, ili iznad tabele pregleda kako bi tabela mogla nesmetano da raste u budućnosti.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?