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)

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


Saat 03:11

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