Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Textbox não salva número na planilha

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Textbox não salva número na planilha

Mensagem por Amiguelmp »

Nessa planilha quando salvo dados através da textbox, ele salva como texto e isso não permite que eu faça cálculos nem de números e nem de horas. Tentei usar o comando:
Private Sub cx_abastec_Exit(ByVal Cancel As MSForms.ReturnBoolean)
cx_abastec = Format(cx_abastec, "###")
Cancel = False
End Sub
Porém quando saio da planilha e a reabro, os dados estão salvos como texto. Por favor, me ajudem.

Não consigo anexar a planilha, pois diz que a extensão de arquivo é inválida.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


DANILO SAMBA
Colaborador
Colaborador
Mensagens: 19
Registrado em: Qui Mar 24, 2016 10:07 am

Re: Textbox não salva número na planilha

Mensagem por DANILO SAMBA »

Bom Dia Cara,

Manda a Planilha


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Textbox não salva número na planilha

Mensagem por Reinaldo »

Por padrão (default) um textbox retorna uma string/texto.
O trecho/código acima somente formata a visualização da string/texto, mantendo sua característica.

Como Voçe não postou a rotina que "salva" na planilha, suponho que seja algo +/- assim:
SuaCelula=cx_abastec.txt

Assim para salvar valores utilize uma das funções de conversão.
Por exemplo SuaCelula=cdec(cx_abastec.txt)
Para horas ou data experimete utiliza Cdate


Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Re: Textbox não salva número na planilha

Mensagem por Amiguelmp »

a planilha não consegue ser anexada, pois dá a mensagem de arquivo inválido.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Re: Textbox não salva número na planilha

Mensagem por Amiguelmp »

Professor Reinaldo, veja como está completo:
Private Sub botao_sair_Click()
Unload BT01
Worksheets("capa").Select

End Sub

Private Sub botao_salvar_Click()
'1- Para escolher em qual planilha serão salvos os dados

Worksheets("BT01").Select

'2- Vamos criar uma variável para salvar sempre na próxima linha vazia

totalregistro = Worksheets("BT01").UsedRange.Rows.Count + 1

'3- o que será preenchido em cada célula
Cells(totalregistro, 1) = cx_dia
Cells(totalregistro, 2) = cx_mes
Cells(totalregistro, 3) = cx_ano
Cells(totalregistro, 4) = cx_hor_inicio
Cells(totalregistro, 5) = cx_hor_final
Cells(totalregistro, 6) = cx_abastec
Cells(totalregistro, 7) = cx_hs_parada
Cells(totalregistro, 8) = cx_hs_manut
Cells(totalregistro, 9) = cx_obra
Cells(totalregistro, 10) = cx_observ

'4- inserir mensagem de sucesso na gravação dos dados

MsgBox "Dados inseridos com sucesso"

'5-para limpar as caixas
cx_dia = ""
cx_mes = ""
cx_ano = ""
cx_hor_inicio = ""
cx_hor_final = ""
cx_abastec = ""
cx_hs_parada = ""
cx_hs_manut = ""
cx_obra = ""
cx_observ = ""

'6- para o cursor voltar na primeira caixa
cx_dia.SetFocus

'7- PARA SALVAR OS DADOS QUANDO SAIR DA PLANILHA
ActiveWorkbook.Save

End Sub

'8- para formatar as caixas em numeros

Private Sub cx_abastec_Exit(ByVal Cancel As MSForms.ReturnBoolean)

cx_abastec = Format(cx_abastec, "###")
Cancel = False

End Sub

Private Sub cx_ano_Exit(ByVal Cancel As MSForms.ReturnBoolean)

cx_ano = Format(cx_ano, "####")
Cancel = False

End Sub

Private Sub cx_dia_Exit(ByVal Cancel As MSForms.ReturnBoolean)
cx_dia = Format(cx_dia, "##")
Cancel = False

End Sub

Private Sub cx_hor_final_Exit(ByVal Cancel As MSForms.ReturnBoolean)
cx_hor_final = Format(cx_hor_final, "####")
Cancel = False

End Sub

Private Sub cx_hor_inicio_Exit(ByVal Cancel As MSForms.ReturnBoolean)

cx_hor_inicio = Format(cx_hor_inicio, "####")
Cancel = False

End Sub
'9- para formatar as caixas em horas


Private Sub cx_hs_manut_Exit(ByVal Cancel As MSForms.ReturnBoolean)
cx_hs_manut = Format(cx_hs_manut, "hh:mm")
Cancel = False

End Sub

Private Sub cx_hs_parada_Exit(ByVal Cancel As MSForms.ReturnBoolean)
cx_hs_parada = Format(cx_hs_parada, "hh:mm")
Cancel = False

End Sub

Private Sub UserForm_Initialize()
'preencher caixa de dias, meses e anos

cx_dia.AddItem "1"
cx_dia.AddItem "2"
cx_dia.AddItem "3"
cx_dia.AddItem "4"
cx_dia.AddItem "5"
cx_dia.AddItem "6"
cx_dia.AddItem "7"
cx_dia.AddItem "8"
cx_dia.AddItem "9"
cx_dia.AddItem "10"
cx_dia.AddItem "11"
cx_dia.AddItem "12"
cx_dia.AddItem "13"
cx_dia.AddItem "14"
cx_dia.AddItem "16"
cx_dia.AddItem "17"
cx_dia.AddItem "18"
cx_dia.AddItem "19"
cx_dia.AddItem "20"
cx_dia.AddItem "21"
cx_dia.AddItem "22"
cx_dia.AddItem "23"
cx_dia.AddItem "24"
cx_dia.AddItem "25"
cx_dia.AddItem "26"
cx_dia.AddItem "27"
cx_dia.AddItem "28"
cx_dia.AddItem "29"
cx_dia.AddItem "30"
cx_dia.AddItem "31"
cx_mes.AddItem "Janeiro"
cx_mes.AddItem "Fevereiro"
cx_mes.AddItem "Março"
cx_mes.AddItem "Abril"
cx_mes.AddItem "Maio"
cx_mes.AddItem "Junho"
cx_mes.AddItem "Julho"
cx_mes.AddItem "Agosto"
cx_mes.AddItem "Setembro"
cx_mes.AddItem "Outubro"
cx_mes.AddItem "Novembro"
cx_mes.AddItem "Dezembro"
cx_ano.AddItem "2012"
cx_ano.AddItem "2013"
cx_ano.AddItem "2014"
cx_ano.AddItem "2015"
cx_ano.AddItem "2016"
cx_ano.AddItem "2017"
cx_ano.AddItem "2018"
cx_ano.AddItem "2019"
cx_ano.AddItem "2020"

End Sub


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Textbox não salva número na planilha

Mensagem por Reinaldo »

Se não meengano, o arquivo para ser anexado deve estar compactado (Zip,7z,Rar....).
No seu codigo a rotina que salva os dados na planilha e -->Private Sub botao_salvar_Click()
Pelas demais rotinas suponho que: cx_dia; cx_mes; cx_ano; cx_hor_inicio; cx_hor_final e cx_abastec são numeros inteiros, pode utilizar a função de conversão Val. Para hs utilize TimeValue.
Tente algo +/- assim:

Código: Selecionar todos

'3- o que será preenchido em cada célula
Cells(totalregistro, 1) = Val(cx_dia)
Cells(totalregistro, 2) = Val(cx_mes)
Cells(totalregistro, 3) = Val(cx_ano)
Cells(totalregistro, 4) = Val(cx_hor_inicio)
Cells(totalregistro, 5) = Val(cx_hor_final)
Cells(totalregistro, 6) = Val(cx_abastec)
Cells(totalregistro, 7) = TimeValue(cx_hs_parada)
Cells(totalregistro, 8) = TimeValue(cx_hs_manut)
Cells(totalregistro, 9) = cx_obra
Cells(totalregistro, 10) = cx_observ
Obs.: Formate previamente as colunas que irão receber os dados com o formato desejado


Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Re: Textbox não salva número na planilha

Mensagem por Amiguelmp »

Caros Professor Reinaldo e Danilo Samba, consegui mandar a planilha compactando-a.

vou tentar o código.

obrigado,


Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Re: Textbox não salva número na planilha

Mensagem por Amiguelmp »

Oh, agora dá mensagem de erro HTTP


Amiguelmp
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Mai 24, 2016 8:51 am

Re: Textbox não salva número na planilha

Mensagem por Amiguelmp »

Deu certinho, muito obrigado, muito obrigado mesmo.


WagnerGuardia
Colaborador
Colaborador
Mensagens: 27
Registrado em: Sex Fev 04, 2011 4:41 pm
Localização: São Paulo

Re: Textbox não salva número na planilha

Mensagem por WagnerGuardia »

Caraca Reinaldo era tudo que eu estava buscando á dias.... Valeu


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder