• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bij plakken van waarde in cellen wordt er niet gecontroleerd op datavalidatie.

Status
Niet open voor verdere reacties.

mause01

Gebruiker
Lid geworden
19 okt 2012
Berichten
75
Ik heb een range B7:AI5000
Waarin datavalidatie aan staat.
wanneer ik de waarde in de cellen type werkt het perfect.
Maar als ik de waarde in de cellen plak vanuit een ander excel.
Gebeurd er niets met de datavalidatie.

Hoe los ik dit op?:confused:

Wat ik nu probeer is onderstaand.
datavalidatie.JPG

Code:
Private Sub CommandButton1_Click()
Range(ActiveCell, ActiveCell.End(xlDown)).Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    ' Does the validation range still have validation?
    If Not Intersect(Range("ValidationRange"), Target) Is Nothing Then
        Application.EnableEvents = False
        If HasValidation(Intersect(Range("ValidationRange"), Target)) = False Then
            Application.Undo
            MsgBox "Your last operation was canceled." & vbCrLf & _
                "It would have deleted data validation rules.", vbCritical
        End If
    End If
    Application.EnableEvents = True
End Sub

Private Function HasValidation(r As Range) As Boolean
    ' Returns True if every cell in Range r uses Data Validation
    Dim c As Range
    Dim x As XlDVType
    On Error Resume Next
    For Each c In r.Cells
        x = r.Validation.Type
        If Err Then
            HasValidation = False
            Exit Function
        End If
    Next c
    HasValidation = True
End Function
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan