Página 1 de 1

Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 14:13
por nathsbd
Tenho uma planilha que consta três colunas (Semana, Prioridade e Volume). Preciso de uma macro que crie uma condição que por semana não pode ter mais que 15000t da Prioridade P1. Ou seja, se o somatório da semana W37 da Prioridade P1 for maior que 15000, deve aparecer um MsgBox dizendo "Valor acima do permitido", e não deve deixar preencher. Deixar preencher apenas se o somatório for menor que 15000. Ou seja, o usuário terá que colocar um valor menor para que o somatório fique até 15000.

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 15:59
por osvaldomp
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column > 3 Then Exit Sub
 If Application.CountA(Cells(Target.Row, 1).Resize(, 3)) < 3 Or Cells(Target.Row, 2) <> "P1" Then Exit Sub
 If WorksheetFunction.SumIfs(Range("C:C"), Range("A:A"), Range(Cells(Target.Row, 1).Address), Range("B:B"), Range(Cells(Target.Row, 2).Address)) > 15000 Then
  Cells(Target.Row, 3) = ""
  MsgBox "Valor acima do permitido"
 End If
End Sub

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 16:32
por nathsbd
Obrigada pelo retorno, @osvaldomp. Entretanto, a macro não está funcionando ao tentar rodar. Pode me ajudar?

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 16:43
por osvaldomp
nathsbd escreveu: 27 Set 2022 às 16:32 Pode me ajudar?
Podemos tentar lhe ajudar, mas para isso precisamos ver o seu arquivo com o código instalado e a explicação do que você fez na planilha e que não funcionou.

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 17:06
por nathsbd
Segue o arquivo. Abre uma caixa para inserir uma nova macro como se eu não tivesse colocado o código. Além disso, o P1 na W37 já está maior que 15000, ou seja, não foi bloqueado. Obrigada.

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 17:38
por osvaldomp
Não funciona porque o código que passei deve ser instalado no módulo da Planilha1 e não no Módulo1.
Para acessar o módulo da planilha clique com o direito na guia da Planilha1 e escolha Exibir Código.

funcionamento - após preencher manualmente as colunas A, B e C, na mesma linha e em qualquer ordem, automaticamente o código irá verificar se na coluna B foi inserido P1. Se sim, então o código irá verificar se a soma em C excede 15000 considerando todos os registros iguais à semana inserida em A.

Para testar insira novos dados na primeira linha vazia abaixo da tabela existente na planilha, ou se você quiser testar na tabela já existente, então selecione uma célula já preenchida | aperte F2 | em seguida aperte Enter.

Re: Bloquear células a partir de uma condição

Enviado: 27 Set 2022 às 21:57
por nathsbd
Osvaldo, muito obrigada! Funcionou.