Avatar billede morf4r Nybegynder
28. januar 2009 - 17:03 Der er 1 kommentar

VBA - Smid en fejl hvis der er dupletter

Hej,
Jeg har 4 kolonner A, D, H, K (altså ikke i rækkefølge)

Hvis jeg skriver det samme i to af kolonnerne skal der komme en fejl, altså skal der findes dupletter..

Jeg har lavet følgende (dog kun til en kolonne)

Public Function DeleteDups() As Boolean
    DeleteDups = False
   
    For x = 6 To Range("A65536").End(xlUp).Row
        If Not IsEmpty(ActiveSheet.Cells(x, 2)) Then
            If Application.WorksheetFunction.CountIf(Range("B6:B" & x), Range("B" & x).Text) > 1 Then
                DeleteDups = True
            End If
        End If
    Next x
   
    If DeleteDups Then
        MsgBox "Duplicates not allowed'", vbCritical, "Error"
    End If
End Function

Hvordan får jeg den udbygget så det kan være flere kolonner? (Jeg forstår ikke ret meget af VBA ;))
Avatar billede kabbak Professor
30. januar 2009 - 18:36 #1
Denne i arkets modul

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A:A,D:D,H:H,K:K")) Is Nothing Then
        If Application.WorksheetFunction.CountIf(Range("A:A"), Target.Value) _
        + Application.WorksheetFunction.CountIf(Range("D:D"), Target.Value) _
        + Application.WorksheetFunction.CountIf(Range("H:H"), Target.Value) _
        + Application.WorksheetFunction.CountIf(Range("K:K"), Target.Value) _
        > 1 Then
            MsgBox "Duplicates not allowed'", vbCritical, "Error"
            Target.Select
        End If
    End If
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester