Notifications
Clear all

LIMITAR O NUMERO DE REGISTROS EM UMA COLUNA

5 Posts
1 Usuários
0 Reactions
1,528 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal boa tarde.
Sou eu novamente com mais dúvidas.

Eu tenho uma linha que em cada coluna se refere a um dia da semana, exemplo
COLUNA A_____|COLUNA B_____|COLUNA C______|COLUNA D_____|COLUNA E__|COLUNA F
LINHA1|SEGUNDA_____|TERÇA________QUARTA________QUINTA_______|SEXTA______|SÁBADO
LINHA2|_____________|_____________|______________|_____________|___________|_________
LINHA3|_____________|_____________|______________|_____________|___________|_________
LINHA4|_____________|_____________|______________|_____________|___________|_________

Eu preciso fazer com que o usuário só possa marcar 5 itens e que caso tentem marcar o sexto item ele seja adivertido igual acontece com a validação.
Ele pode marcar por exemblo as colunas B,C,D,E e F ou A, C, D, E, e F ou A, C, D, E, e F.
Nao importando a ordem, nao precisam ser seguidas, pode ter uma coluna em branco entre elas mas se ele tentar escrever algo em mais de cinco colunas o excel deve advertí-lo igual acontece com a validação.
Alguem poderia me ajudar nisso?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/03/2010 12:30 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Tenta esta:

Private Sub Worksheet_Change(ByVal Target As Range)

e = Target.Address
lin = Target.Row

If Target.Column > 6 Then
Exit Sub
ElseIf Application.WorksheetFunction.CountA(Range("A" & lin & ":F" & lin)) > 5 Then
MsgBox ("Não é possível inserir mais que 5 valores na mesma linha!")
Application.EnableEvents = False
Range(e) = ""
End If

Application.EnableEvents = True

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/03/2010 1:08 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Quando eu coloco um numero inteiro está funcionando certinho mas quando eu tenho colocar em horas como por exemplo "2:00", "6:00", "8:00" não está funcionando, saberia me dizer se tem algo a ver pelo fato do valor menor que 24:00 ser menor que 1?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/03/2010 1:57 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Estranho...
testei aqui com horas e funcionou da mesma maneira... ao inserir a sexta hora, a MsgBox abre e o valor é apagado...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/03/2010 2:17 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Amigo,
no seu exemplo, mencionou que iria até a Coluna F, já no arquivo que enviou, a avaliação vai até a coluna AI, por isso não funcionava...
Testa com este código agora:

Private Sub Worksheet_Change(ByVal Target As Range)

e = Target.Address
lin = Target.Row

If Target.Column < 4 Or Target.Column > 35 Then
Exit Sub
ElseIf Application.WorksheetFunction.CountA(Range("E" & lin & ":AI" & lin)) > 5 Then
MsgBox ("Não é possível inserir mais que 5 valores na mesma linha!")
Application.EnableEvents = False
Range(e) = ""
End If

Application.EnableEvents = True

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/03/2010 4:55 am