Na verdade, você não precisa usar o VBA para isso.
Doistiposdefórmulausados:
=IFERROR(INDEX($B$2:$B$9,MATCH(0,INDEX(COUNTIF($F$1:F1,$B$2:$B$9),0,0),0)),"")
- para exibir os nomes dos produtos, preenchê-lo de F1 para baixo, tanto quanto os produtos que você espera-
=IF($F2="","", IFERROR(1/(1/SUMIFS($C$2:$C$9,$A$2:$A$9,G$1,$B$2:$B$9,$F2))&" ("&SUMIFS($D$2:$D$9,$A$2:$A$9,G$1,$B$2:$B$9,$F2)&")","NA"))
para calcular somas de preços e quantidades, colocar em colunas para as opções 1 - 3 e preencher com a coluna de nomes de produtos.
Como todas são fórmulas padrão, elas são atualizadas automaticamente quando você altera seus dados.