Ir ao conteúdo
  • Cadastre-se
Yuri Menezes

RESOLVIDO Arredondar valor digitado

Recommended Posts

Tenho uma planilha onde o operador ira digitar o kg de produto que irão se propor a fazer na semana (D3:H5),
sendo que as caixas tem peso fixo (coluna B), porém quero que quando eles digitarem o valor kg(d3:h5), ele já arredonde para o numero de kg mais próximo para fechar a caixa.

1002_1439516758.jpeg

Por exemplo o operador digitou na D4 o valor de 11, que esse valor seja automaticamente arredondado para 10, que é o valor mais proximo para fazer a caixa de arroz.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Yuri.

 

Sugestão - disponibilize uma amostra do seu arquivo (arquivo Excel, não figura da planilha), coloque na planilha alguns exemplos de valores digitados e reproduza a tabela mais abaixo indicando os valores arredondados equivalentes.

Em lugar de repetir valores, ex. colocar 3000 em todo o intervalo da linha 3, coloque valores     diferentes. Preencha todo o intervalo com exemplos.

 

Confirmando na sua mensagem acima "coluna B) " significa coluna 'B', é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o arquivo original

 

2015_09_Distribuição u.xlsx

 

tenho na coluna "E" o plano total do mês em kg de um determinado produto que deve ser produzido,

na coluna "F" o peso padrão da caixa,

os operadores devem distribuir esse plano por dia quanto e quando eles planejam fazer.

 

fiz de exemplo na linha "16" uma distribuição de item correta, mas na linha "18" uma distribuição errada pois os kg distribuídos

não fecham com o valor da caixa.

 

Gostaria que quando eles digitassem esse valor errado, o excel já arredondasse o valor, sendo sempre múltiplos do valor da caixa coluna"F".

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

coloque na planilha alguns exemplos de valores digitados e reproduza a tabela mais abaixo indicando os valores arredondados equivalentes.

 

Se você tivesse atendido ao pedido acima nós conseguiríamos saber o critério de arredondamento.

Então, tomando os exemplos incompletos que você postou:

1. o valor 48 em 'I18' precisa ser arredondado para um valor múltiplo de 11. Que valor é o desejado, 44 ou 55? Qual o critério de arredondamento?

2. o valor 50 em 'J18:L18' idem. Qual o valor desejado, 44 ou 55? Idem?

 

Você quer o arredondamento sempre para baixo, sempre para cima, ou .... ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O ideal seria, o arredondamento para o numero múltiplo mais próximo, e segunda opção o arredondamento para cima.

 

1) O valor 48 em 'l18' deveria ser 44 já q esta mais próximo do que 55.

 

2) O valor 50 em 'J18:L18' deveria ser 55 já que esta mais próximo do que 44.

 

mas caso não consiga,

não teria problema em deixar como regra sempre o arredondamento para cima.

Compartilhar este post


Link para o post
Compartilhar em outros sites


Instale o código abaixo no módulo da planilha 'COTAS', assim:
1. copie o código daqui
2. clique com o direito na guia daquela planilha e escolha 'Exibir código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
 

Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Range("H15:M173"), Target) Is Nothing _  Or Cells(Target.Row, 6) = "" Or Target.Value = "" Then Exit Sub On Error Resume Next Application.EnableEvents = False  Target.Value = Application.Round(Target.Value / 11, 0) * 11 Application.EnableEvents = TrueEnd Sub

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou para as caixas de multiplas de 11 kg (coluna "F" o peso da caixa)

 

vou tentar adaptar para as demais caixas.

 

Muito Obrigado osvaldomp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou para as caixas de multiplas de 11 kg (coluna "F" o peso da caixa)

 

vou tentar adaptar para as demais caixas.

 

 

 

Basta substituir esta linha

Target.Value = Application.Round(Target.Value / 11, 0) * 11

por esta

Target.Value = Application.Round(Target.Value / Cells(Target.Row, 6), 0) * Cells(Target.Row, 6)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×