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
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Fabricio Salviato
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
Editado por Fabricio Salviatoletracoluna = ""
Do While icol > 0
a = Int((icol - 1) / 26)
b = (icol - 1) Mod 26
letracoluna = Chr(b + 65) & letracoluna
icol = a
Loop
End Function
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.