Notifications
Clear all

Campos obrigátorio

2 Posts
2 Usuários
0 Reactions
533 Visualizações
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Onde está o erro ?

Ao clicar botão E1 ( COPIAR ) ele verifica se A1 até D1 se está vazio, caso ao contrário copia
para plan2

Sub Copiar()
Sub worksheet_change(ByVal faixa As Range)
If Range("A1:D1").Value = "" Then MsgBox ("Você deve preencher os campos !")
Else
Dim LR As Long
LR = Sheets("Plan2").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Plan1").Range("A1:D1").Copy Sheets("Plan2").Range("A" & LR + 1)
Sheets("Plan1").Range("A1:D1").ClearContents

End If

End Sub

 
Postado : 24/01/2016 3:03 pm
(@mprudencio)
Posts: 0
New Member
 

Pra começar apague essa linha

Sub worksheet_change(ByVal faixa As Range)

Depois coloque a msgbox abaixo do teste if

E por ultimo o excel nao reconhece o range em intervalos

Range("A1:D1").Value da tipos incompativeis

entao faça um if para cada celula, pessoalmente faria apenas para A1 ou D1 pq se o usuario começar a preencher dificilmente ira deixar de preencher toda a linha.

Assim funcionou


Sub copiar()
If Range("A1").Value = "" Then
MsgBox ("Você deve preencher os campos de A1 ate D1 !")
Else
Dim LR As Long
LR = Sheets("Plan2").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Plan1").Range("A1:D1").Copy Sheets("Plan2").Range("A" & LR + 1)
Sheets("Plan1").Range("A1:D1").ClearContents

End If

End Sub


 
Postado : 24/01/2016 3:25 pm