Página 1 de 1

Campos com preenchimento obrigatório

Enviado: 15 Dez 2015 às 20:50
por LEOPAULINO
Olá boa tarde!

Tenho uma planilha de recebimento de notas fiscais, onde gostaria de incluir uma mensagem de obrigatoriedade de preenchimento de campos, entretanto preciso que este preenchimento obrigatório se de incluir o número da Nota Fiscal.

O campo nota fiscal fica nas células de B2 a mais ou menos B40, gostaria que ao digitar número da Nota, fosse obrigatório o preenchimentos dos campos: c2, d2, e2 e f2 (que são respectivamente: Nome da Empresa, CNPJ, Código de Produto e Valor), . Preciso aplicar este código em 40 linhas e criar 12 abas uma para cada mês do ano.

Utilizei o código abaixo na planilha, porém ele obriga a preencher todos os campos, inclusive se eu não preencher os dados não consigo fechar a planilha.

Se alguém puder me ajudar, estou pesquisando e não encontrei nenhum código semelhante.

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
If Application.CountA(Sheets("Plan1").Range("C7:H7")) < 6 Then MsgBox "preencha o intervalo 'C7:H7'", vbExclamation, "Documento não será salvo" Cancel = True Exit Sub ElseIf Application.CountA(Sheets("Plan1").Range("C23:N73")) < 612 Then MsgBox "preencha o intervalo 'C23:N73'", vbExclamation, "Documento não será salvo" Cancel = True Exit Sub ElseIf Application.CountA(Sheets("Plan1").Range("C78:N88")) < 132 Then MsgBox "preencha o intervalo 'C78:N88'", vbExclamation, "Documento não será salvo" Cancel = True Exit Sub ElseIf Application.CountA(Sheets("Plan1").Range("C98:N115")) < 216 Then MsgBox "preencha o intervalo 'C98:N115'", vbExclamation, "Documento não será salvo" Cancel = True Exit Sub End If End Sub

Campos com preenchimento obrigatório

Enviado: 16 Dez 2015 às 10:29
por Parkeless
Bom dia!

Seria isso?
Código: Selecionar todos
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim linha As Long
Dim aba As Worksheet

For Each aba In Worksheets
    For linha = aba.Range("A1000000").End(xlUp).Row To 2 Step -1
        If aba.Cells(linha, 1) <> "" Then
            If Application.WorksheetFunction.CountA(Range(aba.Cells(linha, 2), aba.Cells(linha, 6))) < 5 Then
                MsgBox "Erro: Os dados da NF " & aba.Cells(linha, 1) & ", linha " & linha & " da aba " & aba.Name & ", estão incompletos!" & vbNewLine & "A planilha não foi salva.", vbCritical
                Cancel = True
            End If
        End If
    Next linha
Next aba



End Sub