Şans Oyunları İçin Kullanıcı Tanımlı Fonksiyon

Cevapla
Seyyar Diyari
Mesajlar: 9
Kayıt: 23 Eki 2020, 15:14
İşletim Sisteminiz: Ubuntu & Windows
LibreOffice Sürümü: 7.1.5.2

Şans Oyunları İçin Kullanıcı Tanımlı Fonksiyon

Mesaj gönderen Seyyar Diyari »

Kod: Tümünü seç

Function choosenumbers(ByVal limitmax As Integer, repetition As Integer) As String
	Dim choosen(repetition -1), selector, dontrepeat, NewChoosenNumber As Integer
	Dim seperator As String : seperator = ""
	Dim i As Long, j As Long
	Dim Temp As Variant : choosenumbers = ""
	For selector = 0 To repetition -1
		Do
			NewChoosenNumber = Int(Rnd * (limitmax + 1))
			For dontrepeat = 0 to selector
				If choosen(dontrepeat) = NewChoosenNumber Then NewChoosenNumber = 0
			Next dontrepeat
		Loop While NewChoosenNumber = 0
		choosen(selector) = NewChoosenNumber
	Next selector 
	For i = LBound(choosen) To UBound(choosen) - 1
		For j = i + 1 To UBound(choosen)
			If choosen(i) > choosen(j) Then
				Temp = choosen(j)
				choosen(j) = choosen(i)
				choosen(i) = Temp
			End If
		Next j
	Next i
	For visible = 1 To repetition
		If visible <> 1 Then seperator = ", "
		choosenumbers = choosenumbers & seperator & choosen(visible - 1)
	Next visible
End Function
Bu kod 1 ile bir üst limit arasında istediğiniz kadar farklı tam sayı seçip küçükten büyüğe sıralayan kısa bir kullanıcı tanımlı fonksiyon. Formül içinde kullanımı şu şekilde oluyor:

=CHOOSENUMBERS(Seçilebilecek en büyük sayı; Seçilecek sayı adedi)

Örneğin "1-90 arası 7 tane sayı seç" :

Kod: Tümünü seç

=CHOOSENUMBERS(90;7)
Bir hücre fonksiyonun bulgusunu döndürdükten sonra, formul yani fonksiyonun yanıtının bulunduğu hücreyi sağa sola, yukarı, aşağı yayarak kolayca sayı seçim önerilerini yineleterek çoğaltabiliyorsunuz. Buradaki amaç nedir ? Misal Çekilişe çok az zaman kaldı diyelim, Çekilişin otomatik sayı seçmesini istemiyorsunuz; kendi bilgisayarınızla aranızda güven bağı var diyelim böyle bir durumda çekilişe yetiştirmek için bilgisayarınızın sizden daha hızlı karar verebileceğini öngördünüz, işte o işe yarıyor. Ya da eğlence işte. (Not: Fonksiyon küçükten büyüğe sıralatma örneği içeriyor)
Cevapla