- Katılım
- 11 Ocak 2008
- Mesajlar
- 1,395
- Excel Vers. ve Dili
- Office 365 (Türkçe)
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Va2Mg9Qt |
sifreUzunluk = Range("F2").Value satırını sifreUzunluk = 8 gibi değiştirin. 8 karakter oluşturur.karakterler = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_"
Sub RastgeleSifreUret()
Dim sifreUzunluk As Integer
sifreUzunluk = Range("F2").Value
Dim karakterler As String
karakterler = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_"
Dim rastgeleSifre As String
Dim i As Integer
For i = 1 To sifreUzunluk
rastgeleSifre = rastgeleSifre & Mid(karakterler, Int((Len(karakterler) * Rnd) + 1), 1)
Next i
Range("H2").Value = rastgeleSifre
End Sub
=LET(SUz;B2;Rkm;"0123456789";BHf;"ABCDEFGHIJKLMNOPQRSTUVWXYZ";KHf;"abcdefghijklmnopqrstuvwxyz";EĞER(SUz<3;"";LET(d;PARÇAAL(Rkm;RASTGELEARADA(1;10);1);e;PARÇAAL(BHf;RASTGELEARADA(1;26);1);f;PARÇAAL(KHf;RASTGELEARADA(1;26);1);g;PARÇAAL(Rkm&BHf&KHf;RASGDİZİ(;SUz-3;1;62;1);1);ARALIKBİRLEŞTİR(SIRALAÖLÇÜT(YATAYYIĞ(d;e;f;g);RASGDİZİ(;SUz))))))
=LET(SUz;B2;Adet;B3;Rkm;"0123456789";BHf;"ABCDEFGHIJKLMNOPQRSTUVWXYZ";KHf;"abcdefghijklmnopqrstuvwxyz";EĞER(SUz<3;"";LET(d;PARÇAAL(Rkm;RASGDİZİ(Adet;1;1;10;1);1);e;PARÇAAL(BHf;RASGDİZİ(Adet;1;1;26;1);1);f;PARÇAAL(KHf;RASGDİZİ(Adet;1;1;26;1);1);g;PARÇAAL(Rkm&BHf&KHf;RASGDİZİ(Adet;SUz-3;1;62;1);1);h;YATAYYIĞ(d;e;f;g);MAP(SIRALI(Adet);LAMBDA(x;ARALIKBİRLEŞTİR(SIRALAÖLÇÜT(İNDİS(h;x);RASGDİZİ(;SUz))))))))
=LET(SUz;B2;Krk;"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";ARALIKBİRLEŞTİR(PARÇAAL(Krk;RASGDİZİ(;SUz;1;62;1);1)))
=LET(SUz;B2;Adet;B3;Krk;"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";MAP(SIRALI(Adet);LAMBDA(x;ARALIKBİRLEŞTİR(İNDİS(PARÇAAL(Krk;RASGDİZİ(Adet;SUz;1;62;1);1);x)))))
Alternatif olsun.
Excel365 kullanıcısı olduğunuzdan, Excel365 ile çözüm.
Şifrenin karakter adedini (yani uzunluğunu) B2 hücresine yazın.
1 adetten fazla şifre istiyorsanız da kaç adet şifre olacağını B3 hücresine yazın.
Bu B2 ve B3 (1 adetten fazla şifre istenmesi halinde) hücrelerindeki değerler formülde kullanılacak.
İstenilen şifrede Büyük Harf, Küçük Harf ve Rakamlardan en az 1 er adet olacaksa,
Yalnızca 1 adet Şifre isteniyorsa (B3 hücresinin önemi yok, B3 olmayabilir de) Ama B2 hücresine en az 3 olacak şekilde Tamsayı yazılmalı.
Kod:=LET(SUz;B2;Rkm;"0123456789";BHf;"ABCDEFGHIJKLMNOPQRSTUVWXYZ";KHf;"abcdefghijklmnopqrstuvwxyz";EĞER(SUz<3;"";LET(d;PARÇAAL(Rkm;RASTGELEARADA(1;10);1);e;PARÇAAL(BHf;RASTGELEARADA(1;26);1);f;PARÇAAL(KHf;RASTGELEARADA(1;26);1);g;PARÇAAL(Rkm&BHf&KHf;RASGDİZİ(;SUz-3;1;62;1);1);ARALIKBİRLEŞTİR(SIRALAÖLÇÜT(YATAYYIĞ(d;e;f;g);RASGDİZİ(;SUz))))))
1 den fazla adette şifre isteniyorsa B3 hücresine 1 den büyük Tamsayı yazın ve B2 hücresine en az 3 olacak şekilde Tamsayı yazılmalı.
Kod:=LET(SUz;B2;Adet;B3;Rkm;"0123456789";BHf;"ABCDEFGHIJKLMNOPQRSTUVWXYZ";KHf;"abcdefghijklmnopqrstuvwxyz";EĞER(SUz<3;"";LET(d;PARÇAAL(Rkm;RASGDİZİ(Adet;1;1;10;1);1);e;PARÇAAL(BHf;RASGDİZİ(Adet;1;1;26;1);1);f;PARÇAAL(KHf;RASGDİZİ(Adet;1;1;26;1);1);g;PARÇAAL(Rkm&BHf&KHf;RASGDİZİ(Adet;SUz-3;1;62;1);1);h;YATAYYIĞ(d;e;f;g);MAP(SIRALI(Adet);LAMBDA(x;ARALIKBİRLEŞTİR(SIRALAÖLÇÜT(İNDİS(h;x);RASGDİZİ(;SUz))))))))
İstenilen şifrede Büyük Harf, Küçük Harf ve Rakamlardan herhangi bir KOŞUL Yoksa, yani, bazen Büyük Harf, bazen Küçük Harf ve bazen de Rakamlardan HİÇ olmayabilecekse
Yalnızca 1 adet Şifre isteniyorsa (B3 hücresinin önemi yok, B3 olmayabilir de) ama B2 ye 0 dan büyük tamsayı yazılmalı.
Kod:=LET(SUz;B2;Krk;"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";ARALIKBİRLEŞTİR(PARÇAAL(Krk;RASGDİZİ(;SUz;1;62;1);1)))
1 den fazla adette şifre isteniyorsa B3 hücresine 1 den büyük Tamsayı yazın ve B2 hücresine de 0 dan büyük tamsayı yazılmalı.
Kod:=LET(SUz;B2;Adet;B3;Krk;"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";MAP(SIRALI(Adet);LAMBDA(x;ARALIKBİRLEŞTİR(İNDİS(PARÇAAL(Krk;RASGDİZİ(Adet;SUz;1;62;1);1);x)))))
qwertyuıop | 3 harf küçük |
asdfghjkAşa | 4 harf büyük |
zxcvbnm | 4 harf büyük |
*/!'^+%&( | 2 |
(=!"<12345 | 2 |
67890*- | 3 |
18 |
A | B | C | |
1 | Karakterler | Adet | |
2 | qwertyuıop | 3 | SM'w3ıCNF8+5*DAr-V |
3 | ASDFGHJKŞ | 4 | |
4 | ZXCVBNM | 4 | |
5 | */!'^+%&( | 2 | |
6 | (=!"<12345 | 2 | |
7 | 67890*- | 3 |
=LET(a;A2:A7;b;B2:B7;c;ARALIKBİRLEŞTİR(MAP(a;b;LAMBDA(x;y;LET(p;UZUNLUK(x);ARALIKBİRLEŞTİR(PARÇAAL(x;AL(SIRALAÖLÇÜT(SIRALI(p);RASGDİZİ(p));y);1))))));d;TOPLA(b);ARALIKBİRLEŞTİR(PARÇAAL(c;SIRALAÖLÇÜT(SIRALI(d);RASGDİZİ(d));1)))
Emeğinize sağlık. Çok teşekkürler.F2'de bulunan karakter sayısını baz alarak H2 hücresine şifre oluşturur.
F2 hücresini iptal etmek isterseniz
sifreUzunluk = Range("F2").ValuesatırınısifreUzunluk = 8gibi değiştirin. 8 karakter oluşturur.
İstemediğiniz karakterleri aşağıdaki bölümden çıkarın veya ekleyin.
karakterler = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_"
C++:Sub RastgeleSifreUret() Dim sifreUzunluk As Integer sifreUzunluk = Range("F2").Value Dim karakterler As String karakterler = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_" Dim rastgeleSifre As String Dim i As Integer For i = 1 To sifreUzunluk rastgeleSifre = rastgeleSifre & Mid(karakterler, Int((Len(karakterler) * Rnd) + 1), 1) Next i Range("H2").Value = rastgeleSifre End Sub
Kusura bakmayın, sağlık vs.nedenlerden cevap yazamadım. Çok teşekkürler.
Sağolasın.Üstadım.Geçmiş olsun..