Olá amigo, então tente o seguinte:
Function SomaValores()
Dim i As Integer, Soma As Single
i = 0
Soma = 0
Do While i <= (List1.ListCount - 1)
Soma = Soma + CSng(List1.List(i))
i = i + 1
Loop
SomaValores = Soma
End Function
Acho que assim irá funcionar a soma dos valores com vírgula também. O que fiz foi mudar o tipo da variável Soma de Inteiro (o tipo inteiro aceita somente número inteiros, como 1, 2, 5, etc e se os números tiveram vírgula ele pega só a parte inteira, tipo 1,2 ele pegará só o 1) para Single (o tipo single aceita números inteiro e números com vírgula, funcionando assim a sua soma) e mudei a função de conversão de CInt (converte para inteiro) para CSng (converte para single) se não tivesse mudado ele não aceitaria números com vírgula.
Tentei... 