Estou testando um código simples em que preencho as 10 primeiras linhas das 10 primeiras colunas de uma planilha com uma sequência de números e tento colocar a fórmula d somatório ao final de cada coluna. Porém o VBA está colocando um @ após o sinal de iguale não consigo tirá-lo. Já tentei colocar como texto, já puxei o caractere ASCII e mesmo assim o @ continua aparecendo. Alguém sabe o motivo?
Sub teste()
Dim lin, col, aux As Long
Dim Letra As String
aux = 1
' Preenche as 10 primeiras linhas das 10 primeiras colunas com a sequencia de 1 a 100
' Ao final de cada linha eu chamo a função letracoluna que me retorna a letra da coluna e faço o preenchimento da célula
' e a partir dessa letra monto o texto do tipo =soma(A1:A10) por exemplo. Ocorre que se eu tento colocar o caractere = antes
' o VBA coloca o sinal de @ depis do igual
For col = 1 To 10
For lin = 1 To 10
ActiveSheet.Cells(lin, col).Value = aux
aux = aux + 1
Next lin
Letra = letracoluna(col)
Cells(lin, col).Select
Selection.Formula = "soma(" & Letra & "1:" & Letra & lin-1 & ")"
' já tentei assim :Selection.Formula = "=soma(" & Letra & "1:" & Letra & lin-1 & ")"
' assim: Selection.Formula = "=" & "soma(" & Letra & "1:" & Letra & lin-1 & ")"
' e assim: Selection.Formula = Chr(61) & "soma(" & Letra & "1:" & Letra & lin-1 & ")"
' Nas tres formas acima o VBA soloca o @ depois do =
Next col
End Sub
Function letracoluna(ByVal icol As Long) As String
Dim a, b As Long
a = icol
letracoluna = ""
Do While icol > 0
a = Int((icol - 1) / 26)
b = (icol - 1) Mod 26
letracoluna = Chr(b + 65) & letracoluna
icol = a
Loop
End Function