• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

8 Haneli benzersiz bir kod üretmek

Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Merhaba İyi akşamlar

Makroyu her çalıştırdığımda sayfa 2de A sütunundaki en son satıra benzersiz bir kod kaydetmesini istiyorum. Makroyu her çalıştırdığımda aynı işlemi tekrarlayacak. Bunu yapmam mümkün mü acaba? Yardımcı olabilecek varsa sevinirim.
 
Neye benzemeyeceğini tarif edebilirseniz dediğiniz mümkündür.
 
sadece rakamlardan oluşan 8 haneli bir kod. A sütunu komple bu veri için ayrılacak, a hücresindeki hiç bir veri birbirinin aynısı olmasın yeter.
 
Aşağıdaki kodu boş bir module ekleyip sayfa üzerinde çalıştırabilirsiniz.
A2 den itibaren 8 haneli 11111111 - 99999999 arasında değere sahip şifre oluşturur

C++:
Sub PasswordList()
    Dim Dict As Object, Son As Long, i As Long, mPass As String
    Set Dict = CreateObject("Scripting.Dictionary")
    'A2 den itibaren aşağıya doğru şifre oluşturur
    Son = WorksheetFunction.Max(2, Range("A" & Rows.Count).End(3).Row)
    If Range("A2") <> "" Then
        For i = 2 To Son
            If Not Dict.Exists(Range("A" & i)) Then
                Dict.Add Range("A" & i), 1
            End If
        Next i
        Do
            myPass = WorksheetFunction.RandBetween(11111111, 99999999)
        Loop Until Not Dict.Exists(myPass)
        Range("A" & Son + 1) = myPass
    Else
        Range("A" & Son) = WorksheetFunction.RandBetween(11111111, 99999999)
    End If
End Sub
 
Aşağıdaki kodu boş bir module ekleyip sayfa üzerinde çalıştırabilirsiniz.
A2 den itibaren 8 haneli 11111111 - 99999999 arasında değere sahip şifre oluşturur

C++:
Sub PasswordList()
    Dim Dict As Object, Son As Long, i As Long, mPass As String
    Set Dict = CreateObject("Scripting.Dictionary")
    'A2 den itibaren aşağıya doğru şifre oluşturur
    Son = WorksheetFunction.Max(2, Range("A" & Rows.Count).End(3).Row)
    If Range("A2") <> "" Then
        For i = 2 To Son
            If Not Dict.Exists(Range("A" & i)) Then
                Dict.Add Range("A" & i), 1
            End If
        Next i
        Do
            myPass = WorksheetFunction.RandBetween(11111111, 99999999)
        Loop Until Not Dict.Exists(myPass)
        Range("A" & Son + 1) = myPass
    Else
        Range("A" & Son) = WorksheetFunction.RandBetween(11111111, 99999999)
    End If
End Sub

çok teşekkürler üstadım. elinize sağlık.
 
Aşağıdaki kodu boş bir module ekleyip sayfa üzerinde çalıştırabilirsiniz.
A2 den itibaren 8 haneli 11111111 - 99999999 arasında değere sahip şifre oluşturur

C++:
Sub PasswordList()
    Dim Dict As Object, Son As Long, i As Long, mPass As String
    Set Dict = CreateObject("Scripting.Dictionary")
    'A2 den itibaren aşağıya doğru şifre oluşturur
    Son = WorksheetFunction.Max(2, Range("A" & Rows.Count).End(3).Row)
    If Range("A2") <> "" Then
        For i = 2 To Son
            If Not Dict.Exists(Range("A" & i)) Then
                Dict.Add Range("A" & i), 1
            End If
        Next i
        Do
            myPass = WorksheetFunction.RandBetween(11111111, 99999999)
        Loop Until Not Dict.Exists(myPass)
        Range("A" & Son + 1) = myPass
    Else
        Range("A" & Son) = WorksheetFunction.RandBetween(11111111, 99999999)
    End If
End Sub
Emeğinize sağlık hocam. 6 haneli bana da lazımdı.
 
Geri
Üst