Pergunte aqui
0

Problema com função if dentro de uma macro

perguntadas 2018-07-02 19:06:18 +0200

imagem do gravatar de andysedrez

Boa tarde,

Estou com problema com a função IF no libreoffice.

Se eu entender como a função funciona para uma única cédula consigo fazer para o resto.

Preciso que a macro faça uma verificação numa cédula específica.

Preciso que se os valores de uma cédula estejam entre 10 e 40 o libreoffice carregue uma imagem triste, entre 41 e 65 uma cara meio termo e acima de 66 ele fique feliz.

Eu já aprendi a fazer o libre office carregar a imagem o problema é o if mesmo.

Alguém consegue postar o código aqui?

Agradeço

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2018-07-02 23:50:20 +0200

updated 2018-07-03 21:32:49 +0200

Conhece Ferramentas / Opções de autocorreção...

Funciona como caractere

Segue um exemplo: para mostrar a imagem digite o nome como : antes e depois.

  • :felicidade:
  • :suando frio:
  • :zangado:

Descrição da imagem

Colaca-se a imagem um uma célula, e depois faz referencia a ala.


Complemento

Use a função SE diretamente na célula. veja exemplo abaixo.

=SE(B8<41;zangado;SE(B8<65;suandofrio;felicidade))

Obs. acerte a fórmula no arquivo mude de 40 para 41.

Descrição da imagem

Arquivo teste aqui.


Complemento 2

Para nomear célula ou área, faça a seleção, e na Caixa de nome, digite o nome desejado e de Enter.

A Caixa de nome e onde mostra a célula que esta selecionada.

Descrição da imagem

editar assinalar como ofensivo Excluir Link mais

Comentários

Consegui utilizar! Obrigado!

Mas como faço pra o libreoffice fazer a verificação sem a inputbox?

Preciso utilizar a função if para verificar um valor de uma cédula, pulando a etapa do inputbox mas não estou conseguindo.

imagem do gravatar de andysedrezandysedrez ( 2018-07-03 15:24:24 +0200 )editar

Veja complemento na resposta.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-03 17:01:50 +0200 )editar

Gilberto!

Mandou muito bem! Não vou precisar utilizar de macro para resolver meu problema, se importa de me explicar melhor como você fez essa questão? Não consegui replicar aqui.

Digo, consigo usar sua planilha perfeitamente mas como você chegou lá? Como você conseguiu "nomear" as cédulas?

imagem do gravatar de andysedrezandysedrez ( 2018-07-03 18:53:30 +0200 )editar

Veja complemento 2 na resposta.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-07-03 21:32:40 +0200 )editar

Perfeito, obrigado!

imagem do gravatar de andysedrezandysedrez ( 2018-07-04 12:20:14 +0200 )editar
0

respondidas 2018-07-02 19:16:02 +0200

imagem do gravatar de andysedrez

updated 2018-07-02 23:26:35 +0200

Pessoal, consegui um grande avanço, agora é questão de paciência para chegar onde quero, vejam.

Sub Teste
sText = InputBox ("Enter the name of the new Income Source")
Doc = ThisComponent
Sheets = Doc.getSheets  'get the collection of Sheets
Sheet = Sheets.GetByName("Folha1")  'get the specific Sheet
Cell = Sheet.getCellRangeByName("A1")  'Get the named Cell
Cell.String = sText 

If sText > ("50") then
    MsgBox "Texto é maior que 50"
ElseIf sText < ("50") then
MsgBox "Texto é menor que 50"
Else
MsgBox "O texto é 50 exatamente"
end if
end sub

Rodando essa macro aparece uma caixa para eu botar um determinado valor, se coloco qualquer coisa abaixo de 50 ele aparece a mensagem "Texto é menor que 50", se coloco 50 exatamente aparece uma caixa dizendo "O texto é 50 exatamente" e se coloco qualquer valor maior que 50 nessa caixa ele aparece que o valor é maior!

Agora basta trocar essas condições para os valores exatos e colocar para carregar uma determinada imagem sempre que for alterado, depois só associar a macro para rodar sempre que uma cédula específica for alterada e sucesso.

Se alguém quiser ajudar na empreitada eu aceito!

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-07-02 19:06:18 +0200

Lidas: 25 vezes

Última atualização: Jul 03