Excel - Como impedir que os usuários colem os intervalos de validação de dados no Excel

0

Como eu modificaria o código abaixo para contabilizar vários intervalos nomeados?

Private Sub Worksheet_Change(ByVal Target As Range)
    'Does the validation range still have validation?
    If HasValidation(Range("DataValidationRange")) Then
        Exit Sub
    Else
        Application.Undo
        MsgBox "Error: You cannot paste data into these cells." & _
        "Please use the drop-down to enter data instead.", vbCritical
    End If
End Sub

Private Function HasValidation(r) As Boolean
    'Returns True if every cell in Range r uses Data Validation
    On Error Resume Next
    x = r.Validation.Type
    If Err.Number = 0 Then HasValidation = True Else HasValidation = False
End Function
    
por Tom 10.03.2017 / 17:08

1 resposta

0

A postagem original deste código no Superuser respondeu a essa pergunta : selecione todas as células com validação de dados e forneça um intervalo nomeado ao grupo. Nesse caso, DataValidationRange. Isso funcionará mesmo se as células fizerem parte de outros intervalos nomeados.

No entanto, testar esse código com uma pasta de trabalho do Excel 2010 causou uma falha no Excel no meu sistema. Você vai querer ter seu arquivo salvo antes de testar.

    
por 11.03.2017 / 03:13