Saberexcel - o site de quem precisa Aprender Macros Microsoft Excel VBA
Como usar operadores matémáticos em objetos TextBox, multiplicação, divisão, adição, subtração, a questão do erro com vírgula em textbox, segue abaixo o procedimento correto, usando keyAsscii no Evento KeyPress da TextBox. Espero que exemplo possa ajudá-los.
Fiquem com Deus. Expedito Marcondes.
Esses procedimentos abaixo, foram retirados da:
COLEÇÃO 15.000 MACROS MICROSOFT EXCEL VBA, FÓRMULAS E FUNÇÕES.
Prezada Aluna Cristiane, oss erros são devido ao separador decimal "." ponto em vez de "," vírgula.
'para não ter que digitar a vírgula, que fica no outro teclado, coloque a
'linha abaixo no evento KeyPress da TextBox
'esta linha converte automaticamente "." em ","
If KeyAscii = 46 Then KeyAscii = 44
'************************************************************
(Nos MÓDULOS COMO FAZER há muitos exemplos de Planilhas de como trabalhar com textboxes, comboboxes, listboxes, frames, labels, commandbuttons etc..).
'************************************************************
Para enviar os valores para planilha
Activecell.value = (Val(TextBox1.text) - Val(Textbox2.text))
'Adição
Private Sub CommandButton1_Click()
On Error Resume Next '
TextBox1 = Val(TextBox2) + Val(TextBox3)
End Sub
'..................'
'Subtração
Private Sub CommandButton2_Click()
On Error Resume Next '
TextBox1 = Val(TextBox2) - Val(TextBox3)
End Sub
'..................'
'multiplicação
Private Sub CommandButton3_Click()
On Error Resume Next '
TextBox1 = Val(TextBox2) * Val(TextBox3)
End Sub
'..................'
'Divisão – veja a formatação que pode ser usada.
Private Sub CommandButton4_Click()
On Error Resume Next '
TextBox1 = Format(CDbl(TextBox2) / CDbl(TextBox3), "#,##0.00")
End Sub
'..................'
'Limpar
Private Sub CommandButton5_Click()
TextBox1.Value = "" '
TextBox2.Value = ""
TextBox3.Value = ""
End Sub
Private Sub CommandButton6_Click()
Unload Me
End Sub
'************************************************************
Private Sub CommandButton1_Click()
'Troca "virgula" por "ponto" que é a notação do VBA para números
Cells(1, 1) = Val(Application.Substitute_
(TextBox1.Value, ",", "."))
'Caso queira o valor arredondado com duas casas decimais use:
'Cells(1, 1) = Application.Round(Val(Application.Substitute_
(TextBox1.Value, ",", ".")), 2)
End Sub
Private Sub TextBox1_Change()
'Troca a digitação de "ponto" por "virgula"
TextBox1.Value = Application.Substitute(TextBox1.Value, ".", ",")
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel