on 23-05-12, paolo.albera@gmail.com supposed :
Prova questa (SourceRange pu? anche contenere duplicati):
=====================================
Public Sub ControlloCodici()
Dim SourceRange As Range, TargetRange As Range
Dim collCodici As New Collection, Disposizioni(1 To 1296) As String
Dim k As Range, n As Integer, i As Integer, j As Integer
' Definizioni ----------------------
Set SourceRange = [Sheet3!A1:A3000]
Set TargetRange = [Sheet3!B1]
' ----------------------------------
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For i = 0 To 9
collCodici.Add i, CStr(i)
Next
For i = 65 To 90
collCodici.Add Chr(i), Chr(i)
Next
For i = 1 To 36
For j = 1 To 36
n = n + 1
Disposizioni(n) = collCodici(i) & collCodici(j)
Next
Next
For Each k In SourceRange
For j = 1 To 1296
If k = Disposizioni(j) Then
n = n + 1
Disposizioni(j) = "usato_" & Disposizioni(j)
Exit For
End If
Next
Next
n = 0
For i = 1 To 1296
If Left(Disposizioni(i), 5) <> "usato" Then
n = n + 1
TargetRange(n).NumberFormat = "@"
TargetRange(n) = Disposizioni(i)
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
=======================================
Bruno