In [P6:P15973] stehen Zahlen aber es sind auch leere Zellen vorhanden.
Ich möchte, mit Vba, die Zahl in eine MsgBox angezeigt haben, die in [P6:P15973] doppelt vorkommt.
im voraus vielen Dank
Ulf
Option Explicit
Sub DoppelteInBereich()
Dim rng As Range
Dim arr As Variant, tmp() As Variant
Dim n As Long, d As Long, x As Long
Dim m As Integer
Dim meldung As String
Dim blnDbl As Boolean
Set rng = Range("P6:P15973")
d = -1
arr = rng
For m = 1 To UBound(arr, 2)
For n = 1 To UBound(arr, 1)
If arr(n, m) <> "" And Application.CountIf(rng, arr(n, m)) > 1 Then
If d < 0 Then
d = d + 1
ReDim Preserve tmp(d)
tmp(d) = arr(n, m)
meldung = meldung & vbTab & vbTab & arr(n, m) & vbLf
Else
blnDbl = False
For x = 0 To UBound(tmp)
If tmp(x) = arr(n, m) Then blnDbl = True: Exit For
Next
If Not blnDbl Then
d = d + 1
ReDim Preserve tmp(d)
tmp(d) = arr(n, m)
meldung = meldung & vbTab & vbTab & arr(n, m) & vbLf
End If
End If
End If
Next
Next
If meldung <> "" Then
meldung = "Doppelte im Bereich """ & rng.Address(0, 0) & """ !" & Space(20) & _
vbLf & vbLf & meldung
MsgBox meldung, , "Doppelt"
End If
End Sub
P.S.: Rückmeldung nicht vergessen!