Notifications
Clear all

POPUP de ajuda na planilha

10 Posts
2 Usuários
0 Reactions
1,438 Visualizações
(@edvaldo123)
Posts: 0
New Member
Topic starter
 

Olá para todos novamente, estou necessitando urgentemente alterar algumas funções de uma planilha de orçamentos. Essa planilha calcula preços de janelas e portas de vidro temperado, em determinado local da planilha é solicitado que o usuário digite a altura da janela, a largura, a cor do vidro, a marca da fechadura, acessórios e etc. Cada informação dessas solicitadas, ficam em uma determinada célula, e após informar todos os dados na planilha, célula por célula, ao final é mostrado o valor dessa janela. Porém a célula correspondente a cor do vidro e a célula correspondente a marca da fechadura, são células com validação de dados com lista suspensa, e é exatamente isso que estou querendo retirar da planilha. Ao invés de ter uma lista suspensa na célula, pensei em apenas digitar o código do produto. Mas e se acaso o usuário não souber o código de determinado produto? Então pra isso teria que ter um script para abrir uma janela popup de ajuda ou um inputbox, nessa janela teria todos os códigos correspondentes aquela célula em questão. Achei um script na net que não está funcionando corretamente, ele apresenta um erro, mas seria mais ou menos o que estou precisando no momento.

Sub inserir()

Dim entrada As Variant

entrada = InputBox(“Insira algum valor”)

Range(“A1”).Value = entrada

End Sub

Esse script praticamente faz o que preciso, porém ele não seria executado por um botão, e sim por um atalho no teclado, ou então apenas teclando a tecla ENTER dentro da célula vazia, e seria aberto essa janela com todos os produtos e seus respectivos códigos, para que o usuário escolhesse o código do produto e clicasse OK ou teclasse ENTER novamente, tendo assim o código inserido na célula. Vale lembrar que estou tentando adaptar essa planilha de modo que não precise ser usado mouse, apenas teclado, por isso estou evitando cliques em botões.

 
Postado : 18/03/2017 4:35 pm
(@syrax)
Posts: 0
New Member
 

Envia a sua planilha, e fala onde estão os códigos de todos os produtos
tem como fazer um userform com uma listbox informando o código de todos os itens
assim que voce clicar nele, vai para a célula que voce quer

envia a planilha e deixa explicado onde voce quer o valor, qual o comando do teclado para abrir o userform

 
Postado : 18/03/2017 4:53 pm
(@edvaldo123)
Posts: 0
New Member
Topic starter
 

Envia a sua planilha, e fala onde estão os códigos de todos os produtos
tem como fazer um userform com uma listbox informando o código de todos os itens
assim que voce clicar nele, vai para a célula que voce quer

envia a planilha e deixa explicado onde voce quer o valor, qual o comando do teclado para abrir o userform

Amigo conforme vc me solicitou, a planilha vai em anexo, ela vai com a planilha de orçamento de janela.

Observe que logo de início na célula K4 ja consta a primeira lista suspensa, as outras listas suspensas estão nas células K7, K8 e K9.

Como exemplo vamos usar a célula K4, nela consta 3 opções de produtos, gostaria de atribuir apenas um simples código numérico para cada produto, exemplo, o número "1" seria o código referente ao produto "CLASSIFICAÇÃO LEVE", o número "2" seria referente ao produto " CLASSIFICAÇÃO INTERMEDIÁRIA", e assim sucessivamente. Ao invés de ter que clicar na lista suspensa e escolher o produto, gostaria de excluir essa lista suspensa, e apenas direcionar um atalho no teclado quando o cursor estivesse dentro da célula K4, ao executar esse atalho, ou então, apenas teclando a tecla ENTER se a célula estiver vazia, iria abrir uma pequena tabela com todos os códigos e seus referidos produtos, algo parecido com aquela função "InputBox" que especifiquei acima. O usuário iria escolher o código referente ao produto nessa tela, digita-lo e teclar ENTER, e o nome do produto seria inserido na célula automaticamente, ou talvez até uma junção de ambos juntos, exemplo "1 - CLASSIFICAÇÃO LEVE".

Para as demais células com listas suspensas, se usaria a mesma sequencia de códigos para seus devidos produtos, sempre começando com o número 1 e indo sucessivamente.

 
Postado : 19/03/2017 1:15 pm
(@syrax)
Posts: 0
New Member
 

Veja se isso te ajuda

clique na célula onde voce deseja que abra o inputbox e aperte CTRL+M

Lembrando que as células onde serão abertos os inputbox conforme voce tinha solicitado serão

K4,K7,K8 e K9

Se isso te ajudou, clique no "joinha" ao lado de citar

 
Postado : 19/03/2017 5:28 pm
(@syrax)
Posts: 0
New Member
 

Edvaldo, se o seu problema foi resolvido, por favor clique em "Resolvido" no post onde foi resolvido

Obrigado

 
Postado : 20/03/2017 1:35 pm
(@edvaldo123)
Posts: 0
New Member
Topic starter
 

Veja se isso te ajuda

clique na célula onde voce deseja que abra o inputbox e aperte CTRL+M

Lembrando que as células onde serão abertos os inputbox conforme voce tinha solicitado serão

K4,K7,K8 e K9

Se isso te ajudou, clique no "joinha" ao lado de citar

Ola amigo, me ajudou bastante, parabéns e obrigado mais uma vez. Veja se tem a possibilidade de vc me ajudar nessas 3 questões abaixo.

1° - Quando abro a planilha aparece esse erro, porém o erro desaparece depois que ela é aberta pela segunda vez, mas com o passar do tempo ele ressurge.

O metodo OnKey do objeto Application falhou

2° - Teria como trocar o atalho CTRL+M pela tecla ENTER? Ou seja, quando o cursor estiver dentro da célula em questão vazia, apenas teclaria ENTER e abriria o InputBox.

3° - Teria como substituir nas linhas de comando do script, onde tem os nomes dos produtos, por células na planilha? Assim se eu atualizasse apenas a célula, automaticamente o script também seria atualizado, facilitaria muito pra mim no momento em que precisasse fazer atualizações de produtos, ao invés de editar todo o script, apenas editaria a célula onde tem o nome desse produto.

 
Postado : 20/03/2017 1:54 pm
(@syrax)
Posts: 0
New Member
 

Edvaldo,

Segue em anexo a nova planilha,

1° - Quando abro a planilha aparece esse erro, porém o erro desaparece depois que ela é aberta pela segunda vez, mas com o passar do tempo ele ressurge.

O metodo OnKey do objeto Application falhou

o erro devia-se ao fato de não voltar o comando CTRL+M ao normal quando fechava a planilha
para que isso não ocorra, abra essa nova planilha que eu estou te enviando, feche ela, e abra de novo
desse jeito, voce ativa o evento workbook_deactivate e corrige esse problema

2° - Teria como trocar o atalho CTRL+M pela tecla ENTER? Ou seja, quando o cursor estiver dentro da célula em questão vazia, apenas teclaria ENTER e abriria o InputBox.

quanto ao atalho ser o ENTER, até onde eu sei, isso não é possível, os outros usuários do fórum podem te ajudar quanto a isso se souberem de algum jeito
pois, por padrão, o ENTER, pula uma linha, quando a célula está vazia

3° - Teria como substituir nas linhas de comando do script, onde tem os nomes dos produtos, por células na planilha? Assim se eu atualizasse apenas a célula, automaticamente o script também seria atualizado, facilitaria muito pra mim no momento em que precisasse fazer atualizações de produtos, ao invés de editar todo o script, apenas editaria a célula onde tem o nome desse produto.

o inputbox agora é dinâmico, ou seja, muda de acordo com a mudança das células

se isso te ajudou, clique no "joinha" ao lado de citar

 
Postado : 20/03/2017 6:42 pm
(@edvaldo123)
Posts: 0
New Member
Topic starter
 

Edvaldo,

Segue em anexo a nova planilha,

1° - Quando abro a planilha aparece esse erro, porém o erro desaparece depois que ela é aberta pela segunda vez, mas com o passar do tempo ele ressurge.

O metodo OnKey do objeto Application falhou

o erro devia-se ao fato de não voltar o comando CTRL+M ao normal quando fechava a planilha
para que isso não ocorra, abra essa nova planilha que eu estou te enviando, feche ela, e abra de novo
desse jeito, voce ativa o evento workbook_deactivate e corrige esse problema

2° - Teria como trocar o atalho CTRL+M pela tecla ENTER? Ou seja, quando o cursor estiver dentro da célula em questão vazia, apenas teclaria ENTER e abriria o InputBox.

quanto ao atalho ser o ENTER, até onde eu sei, isso não é possível, os outros usuários do fórum podem te ajudar quanto a isso se souberem de algum jeito
pois, por padrão, o ENTER, pula uma linha, quando a célula está vazia

3° - Teria como substituir nas linhas de comando do script, onde tem os nomes dos produtos, por células na planilha? Assim se eu atualizasse apenas a célula, automaticamente o script também seria atualizado, facilitaria muito pra mim no momento em que precisasse fazer atualizações de produtos, ao invés de editar todo o script, apenas editaria a célula onde tem o nome desse produto.

o inputbox agora é dinâmico, ou seja, muda de acordo com a mudança das células

se isso te ajudou, clique no "joinha" ao lado de citar

Boa tarde amigo, quando ao problema do erro que estava dando, ele continua, mesmo com as alterações que vc fez. O erro é apresentado sempre que o arquivo é trocado de local ou pasta, ou renomeado. Tirei alguns prints e vou te enviar.

Quanto ao inputbox ficou perfeito, parabéns!

Vc deve ter percebido outras macros na planilha, são macros pra limpar conteúdo de células desbloqueadas, teria como criar um comando que ao fechar a planilha, executasse todas essas macros de limpeza das células, assim toda vez que a planilha fosse aberta todos as células desbloqueadas estariam vazias.

 
Postado : 21/03/2017 9:31 am
(@syrax)
Posts: 0
New Member
 

Quanto ao problema do application.onkey, percebi que voce abre ele no "modo protegido" o que não deixa as macros funcionarem, é por isso que dá esse erro.
desabilite esse modo, ou clique em "habilitar edição", salve o arquivo, feche e abra novamente

 
Postado : 21/03/2017 10:11 am
(@edvaldo123)
Posts: 0
New Member
Topic starter
 

Quanto ao problema do application.onkey, percebi que voce abre ele no "modo protegido" o que não deixa as macros funcionarem, é por isso que dá esse erro.
desabilite esse modo, ou clique em "habilitar edição", salve o arquivo, feche e abra novamente

Realmente amigo vc estava certo, eu mexi nas configurações avançadas do Excel e o problema foi resolvido. Quanto aquela outra macro que comentei com vc hoje mais cedo, tem possibilidade de vc me ajudar?

Abraços...

 
Postado : 21/03/2017 11:03 am