Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Makro-VBA (http://www.excel.web.tr/forumdisplay.php?f=48)
-   -   rastgele sayı ve harf birlikte (http://www.excel.web.tr/showthread.php?t=114901)

acolkesen1 25-04-2012 14:06

rastgele sayı ve harf birlikte
 
Merhaba arkadaşlar,
Forumdaki örnekler arasında arama yaptım ancak uygun bir örnek bulamadım. 10 adet rastgele 4 haneli sayı ve harf karışık olarak üretmek mümkün müdür?
Örneğin; 3X65,F5L9 veya KL6U gibi. ilgilenen arkadaşlara şimdiden teşekkür ederim.

Murat OSMA 25-04-2012 14:32

Deneyiniz;
Kod:

Sub Sifreyap()
Dim Sifre As String
Dim i As Integer, j As Integer
   
    For i = 1 To 10
    For j = 1 To 4
        If j Mod 2 = 0 Then
            Sifre = Chr(Int((90 - 65 + 1) * Rnd + 65)) & Sifre
        Else
            Sifre = Int((9 * Rnd) + 1) & Sifre
        End If
    Next j
        Cells(i, "A") = Sifre
        Sifre = ""
    Next i
   
j = Empty: i = Empty: Sifre = vbNullString
 End Sub


ffff7 25-04-2012 14:58

Bir başkası..

Kod:

Sub SifreOlustur()
Dim a As Integer, c, b As String

Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"

For l = 1 To 10
b = ""
  For k = 1 To 4
atla1:
  a = Fix(Rnd * 1000)
  If a < 32 Or a > 255 Then GoTo atla1
  If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
  Next
Cells(l, "A") = b
Next

End Sub


acolkesen1 25-04-2012 15:00

Merhaba Sayın Murat Osma,
Göderdiğiniz kod tam anlatmak istediğim gibi.. Çok teşekkür ederim. Esenkalın..

acolkesen1 25-04-2012 15:01

Sayın ffff7 ye de ilgisi için teşekkürlerimi ileti rrrr im.:)

Murat OSMA 25-04-2012 18:49

Rica ederim, iyi günler...

kayrahan 14-02-2015 16:10

verilen bu bilgileri uygulamada yapamadım.excelde bu formulleri nasılyazacağım.


Sub SifreOlustur()
Dim a As Integer, c, b As String

Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"

For l = 1 To 10
b = ""
For k = 1 To 4
atla1:
a = Fix(Rnd * 1000)
If a < 32 Or a > 255 Then GoTo atla1
If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
Next
Cells(l, "A") = b
Next

End Sub

kayrahan 16-02-2015 15:15

Alıntı:

Murat OSMA tarafından gönderildi (Mesaj 626240)
Deneyiniz;
Kod:

Sub Sifreyap()
Dim Sifre As String
Dim i As Integer, j As Integer
   
    For i = 1 To 10
    For j = 1 To 4
        If j Mod 2 = 0 Then
            Sifre = Chr(Int((90 - 65 + 1) * Rnd + 65)) & Sifre
        Else
            Sifre = Int((9 * Rnd) + 1) & Sifre
        End If
    Next j
        Cells(i, "A") = Sifre
        Sifre = ""
    Next i
   
j = Empty: i = Empty: Sifre = vbNullString
 End Sub


bu kodu nasıl excelde uygulayacağımı biliemedim.yardımlarınızı bekliyorum

kayrahan 16-02-2015 15:20

rastgele sayı ve harf üretme
 
bu kodu excelde nasıl uygulamasını yapacağımı bilemedim.yardımlarınız bekliyorum.

PLİNT 16-02-2015 15:38

Alıntı:

kayrahan tarafından gönderildi (Mesaj 797267)
bu kodu excelde nasıl uygulamasını yapacağımı bilemedim.yardımlarınız bekliyorum.

Merhaba
Şifreleri nerede kullanacağınızı belirtmemişsiniz.
Denemek içinse;
Vba kod sayfasında bir İnsert/modül oluşturup kodları ekleyerek düğme veya butona atayın örnekteki gibi:

http://www.upturkey.com/download.php...6şifre yap.xls

mars2 29-10-2017 19:57

İyi Günler;

Sub SifreOlustur()
Dim a As Integer, c, b As String

Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"

For l = 1 To 1
b = ""
For k = 1 To 4
atla1:
a = Fix(Rnd * 1000)
If a < 32 Or a > 255 Then GoTo atla1
If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
Next
Cells(l, "A") = b
Next

End Sub


sadece A stununda değil B ve c sutunlarının ilk satırlarında veya sayfa sonklarında farklı harf ve sayı üretmesini istiyorum .

Yardımlarınız beklemekteyim

antonio 29-10-2017 20:34

Alıntı:

mars2 tarafından gönderildi (Mesaj 915256)
....
sadece A stununda değil B ve c sutunlarının ilk satırlarında veya sayfa sonlarında farklı harf ve sayı üretmesini istiyorum .

Size önerilen kodları aşağıdaki şekilde kendi isteğinize uyarlayabilirsiniz.
Kod:

Sub SifreOlustur()
Dim a As Integer, c, b As String
Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"
For d = 1 To 3
For l = 1 To 1
b = ""
For k = 1 To 4
atla1:
a = Fix(Rnd * 1000)
If a < 32 Or a > 255 Then GoTo atla1
If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
Next
Cells(l, d) = b
Next
Next d
End Sub


mars2 30-10-2017 09:19

Sayın antonio;
Teşekkürler, istediğim gibi sizden küçük bir rica olabilir mi
b = ""
b = "-" işareti koyduğıumuzda A sutunun önüne de gelmektedir.
ilk (A) sutunda "-" işaretinin gelmemesi için ne yapılabilir.

askm 30-10-2017 09:27

Cells(l, d) = b satırını Cells(l, d) = Mid(b, 2, 5) şeklinde değiştirin.

mars2 30-10-2017 16:16

Sayın Askm;
İlginze teşekkürler, ancak
rastgele üretilen harf ve sayılar oluşan komminasyonlar arasına - işareti ile ayırmak istemekteyim
Örnek:
ABS54-lŞ78Ş-458YU-hu4l5 gibi olmasını düşünmekteyim.
İlk sutunda bulunan komminasyonun sol tarafına (ABS54-) - işaret olmaması (-ABS54-)gerekmektedir.
Veya Bir hücre komminasyon bir hücre - işaret olabilir.
Yardımlarınız için teşekkürler

askm 30-10-2017 20:47

O zaman aşağıdaki gibi yazmanız gerekli.
Kod:

Sub SifreOlustur()
Dim a As Integer, c, b As String
Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"
For d = 1 To 3
For l = 1 To 1
b = b & "-"
For k = 1 To 4
atla1:
a = Fix(Rnd * 1000)
If a < 32 Or a > 255 Then GoTo atla1
If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
Next
Cells(l, 1) = Mid(b, 2, Len(b) - 1)
Next
Next d
End Sub


ahmedummu 31-10-2017 09:51

Elinize sağlık sayın askm.

askm 31-10-2017 09:55

Rica ederim. Asıl kodun iskeletini oluşturan antonio ye teşekkür ederiz. Ben sadece isteğe göre kodda oynama yaptım. Kolay gelsin.

mars2 31-10-2017 17:01

Sayın askm, antonio;

İlgi ve yardımlarınız teşekkürler.

mars2 10-11-2017 08:47

Sasyın Ustatlar;
Konu hakkında yeniden yardımlarınız esirgememeniz dileğimle,
koda göre; her biri 4'li olmak üzere üç adet farklı rastgele sayı veya harften oluşan kombinasyon (şifre) vermekte, ancak son dörtlü şifrenin diğerlerinden farklı olarak 6'li gelmesini istemekteyim.

Örnek:
As42-45ğH-7k/d92

askm 10-11-2017 09:21

Kod:

Sub SifreOlustur()
Dim a As Integer, c, b As String
Randomize Timer
c = "ABCDEFGHIJKLMNPQRSTUVWXYZ023456789"
For d = 1 To 3
    If d < 3 Then
        For l = 1 To 1
        b = b & "-"
            For k = 1 To 4
atla1:
                a = Fix(Rnd * 1000)
                If a < 32 Or a > 255 Then GoTo atla1
                If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla1
            Next
        Next
Else
        For l = 1 To 1
        b = b & "-"
            For k = 1 To 6
atla2:
                a = Fix(Rnd * 1000)
                If a < 32 Or a > 255 Then GoTo atla2
                If InStr(1, c, Chr(a)) > 0 Then b = b & Chr(a) Else GoTo atla2
            Next
        Next
End If
Cells(l, 1) = Mid(b, 2, Len(b) - 1)
Next d
End Sub


mars2 10-11-2017 15:00

Sayın askm;

cevabınız için teşekkürler.

askm 10-11-2017 15:33

Rica ederim.


Saat 00:52

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.