Notifications
Clear all

Condição para macro

4 Posts
1 Usuários
0 Reactions
880 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal,

quero colocar uma condição (uma validação) na seguinte macro.

Sub Registrar()

Range("A2:H36").Select
Selection.Copy
Sheets("Base").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Input").Select
Range("A2").Select

End Sub

quero que ela rode apenas se a célula B2 for diferente da célula J6. Se for igual quero que um msgbox apareça informando que os dados estão iguais e se o usuário deseja registrar msm assim.

como faço?
=)

 
Postado : 27/01/2012 8:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Veja se funciona...

If Range("B2").Value = [J6].Value Then

Range("A2:H36").Select
Selection.Copy
Sheets("Base").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Input").Select
Range("A2").Select
Else
MsgBox "Dados diferentes deseja alterar", vbOKCancel
Exit Sub
End If
End Sub
 
Postado : 27/01/2012 8:16 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre,

Deu erro de compilação do If Range("B2").Value logo no começo. =/

mais um detalhe: eu quero que a macro rode se os dados forem diferentes e não iguais (pelo o q eu entendi, a rotina está ao contrário.)

 
Postado : 27/01/2012 8:34 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

A instrução If está correta, verifique quais tipos de dados tem em B2 e J6, quanto a questão do "igual", é só alterar o Sinal da condição para "<>".

[]s

 
Postado : 27/01/2012 8:52 am