Hallo,
wieso VBA ? Die Formel ist doch noch relativ übersichtlich. :-)
=WENN(A1="x1";B1;WENN(UND(A1="x2";C1<>"");C1;WENN(UND(A1="x2";C1="");SUMMEWENN(A$2:A$23;"x1";B$2:B$23);WENN(A1="x3";D1*-1;WENN(UND(A1="x4";C1="");B1;"")))))
VG Sabina