Página 1 de 1

Se encontrar células em branco não salvar

Enviado: 04 Fev 2016 às 14:54
por ThiCuter
Possuo uma planilha onde varios campos são obrigatórios, e caso não sejam preenchidos não permitir salvar.
O maior problema é que essa validação das células em branco pode estar desde a célula B1, da planilha Cargas até a coluna H1, a quantidade de linhas vai depender da ultima célula preenchida na coluna B.

Montei a macro abaixo, porém apresenta erro:
____________________________________________________________________________________________
'Para o caso de tentar fechar a planilha

Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheet("CARGA").Range("A1").End(xlDown).End(xlToRight).Select = "" Then
MsgBox "Campos em Branco!"
Cancel = True
Exit Sub
Else
End If
End Sub

____________________________________________________________________________________________
'Para o caso de tentar salvar a planilha

Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheet("CARGA").Range("A1").End(xlDown).End(xlToRight).Select = "" Then
MsgBox "Campos em Branco!"
Cancel = True
Exit Sub
Else
End If
End Sub

Se encontrar células em branco não salvar

Enviado: 05 Fev 2016 às 09:36
por Parkeless
Opa!

Tenta isso:
Código: Selecionar todos
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim Brancas As Range

On Error GoTo Validação_Ok

Set Brancas = Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks)
'Se não der erro na instrução acima, é que existem células em branco na região de 'A1'
MsgBox "Campos em Branco!"
Cancel = True

Exit Sub

Validação_Ok:
'Se deu erro, é porque não há celulas em branco; encerrar macro

End Sub
Código: Selecionar todos
Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Brancas As Range

On Error GoTo Validação_Ok

Set Brancas = Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks)
'Se não der erro na instrução acima, é que existem células em branco na região de 'A1'
MsgBox "Campos em Branco!"
Cancel = True

Exit Sub

Validação_Ok:
'Se deu erro, é porque não há celulas em branco; encerrar macro

End Sub