Pergunte aqui
0

InputBox dando o valor numérico e não em string

perguntadas 2018-07-05 15:28:27 +0200

imagem do gravatar de andysedrez

updated 2018-07-05 16:24:51 +0200

Bom dia,

sTextNota35 = InputBox ("Digite a nota do item 3.5")
Doc = ThisComponent
Sheets = Doc.getSheets  'get the collection of Sheets
Sheet = Sheets.GetByName("Folha2")  'get the specific Sheet
Cell = Sheet.getCellRangeByName("M27")  'Get the named Cell
Cell.String = sTextNota35

a seguinte macro salva o valor que colocaram na inputbox em 2 lugares, porém está salvando como texto e queria que salvasse como número pois é uma nota.

Como é possível?

Tentrei trocar o Cell.String por Cell.Integer e não deu certo.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Como esta formatado a célula que recebe?

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-05 16:26:11 +0200 )editar

Está formatada para número... ela transforma em texto após a macro ser executada

imagem do gravatar de andysedrezandysedrez ( 2018-07-05 18:46:07 +0200 )editar
1

para ter um numero, use

Cell.Value - sTextNota35
imagem do gravatar de OlivierOlivier ( 2018-07-05 22:35:14 +0200 )editar

Perfeito Oliver!

Agora está funcionando!

Muitíssimo obrigado sr.!

imagem do gravatar de andysedrezandysedrez ( 2018-07-06 12:28:48 +0200 )editar

Aproveitando o gancho, sabes me dizer como posso fazer para restringir os valores que são digitados numa inputbox? Preciso que ela somente aceite os valores de 1,3 ou 5, qualquer coisa fora disso deve ser rejeitada. Alguma ideia? Obrigado desde já. Desculpe, errei seu nome, corrigindo: Olivier*

imagem do gravatar de andysedrezandysedrez ( 2018-07-09 12:28:13 +0200 )editar

Dados / Validação / Lista de valores na célula não resolve ?

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-09 19:31:25 +0200 )editar

@Gilberto Se o input for manual, sim resolve, se o input for via inputbox não, ele coloca o valor que coloquei na inputbox sem questionar.

imagem do gravatar de andysedrezandysedrez ( 2018-07-09 21:34:21 +0200 )editar

Veja Complemento em minha resposta....

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-10 02:46:52 +0200 )editar

No caso agora preciso que ele entre em loop até que a pessoa digite a nota 1, 3 ou 5.

Como posso fazer isso?

Nesse caso de agora ele só copia se for 1, 3 ou 5, qualquer outro valor ele não está copiando, é um avanço. Obrigado pela ajuda até agora!

imagem do gravatar de andysedrezandysedrez ( 2018-07-10 15:56:55 +0200 )editar

Tentei utilizar Do e loop mas acabei não conseguindo encaixar a sintaxe

imagem do gravatar de andysedrezandysedrez ( 2018-07-10 15:57:29 +0200 )editar

1 Resposta

0

respondidas 2018-07-05 19:41:48 +0200

updated 2018-07-10 17:55:07 +0200

Esta funcionando normal, se usar vírgula no decimal, mas se usar ponto é texto.


Complemento (alteração 1)

Vela se esta alteração em sua macro resolve: Acrescentei uma chamada da mesma macro após mensagem de erro. ( a acertei o valor 5 tem que estar entre aspas ).

Sub Main2
Doc = ThisComponent
Sheets = Doc.getSheets  'get the collection of Sheets
Sheet = Sheets.GetByName("Folha2")  'get the specific Sheet
Cell = Sheet.getCellRangeByName("A2")  'Get the named Cell
sTextNota35 = InputBox ("Digite 1,3 ou 5")
If sTextNota35 = "1,3" Then
    Cell.String = sTextNota35
ElseIf sTextNota35 = "5" Then
    Cell.String = sTextNota35
Else 
    MsgBox "Escolha 1,3 o 5"
    Call Main2
End If  
End Sub
editar assinalar como ofensivo Excluir Link mais

Comentários

Aqui não, mesmo colocando na inputbox como "2,0" ou "2" ele continua formatando como texto. segue exemplo, e antes de acionar a macro estava como número

[https://uploaddeimagens.com.br/imagen...]

imagem do gravatar de andysedrezandysedrez ( 2018-07-05 20:01:57 +0200 )editar

@andysedrez, no Calc mesmo que a formatação for texto (@) e não houver caracteres estranhos para o formato numérico, para uso em calculo funciona normalmente.

Veja o exemplo abaixo: C5 esta formatado texto (@) e D6 é usado para cálculo.

Descrição da imagem

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-05 20:32:48 +0200 )editar

Certo Gilberto, mas estranhamente não estava sendo calculado numa função de SOMA, aparentemente o Oliver conseguiu a solução, obrigado pela ajuda Gilberto!

imagem do gravatar de andysedrezandysedrez ( 2018-07-06 12:30:25 +0200 )editar

Ok, havia esquecido deste detalhe, conta entre eles não da certo.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-06 13:21:12 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-07-05 15:28:27 +0200

Lidas: 23 vezes

Última atualização: Jul 10