• DİKKAT

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

Sadece belirtilen hücreler arası benzersiz sayı üretme

Katılım
2 Mayıs 2020
Mesajlar
6
Excel Vers. ve Dili
Türkçe
Arkadaşlar merhaba

Benzersiz sayı formülünü sıralı sayı grubunda sorunsuz kullanıyorum ama benim sorunum A1 ila A40 hücreleri arası sadece tek rakamların (1,3,5,7,9,11,13,.....) arasından tekrar etmeyen sayılar üretmek yardımcı olurmusunuz lütfen???
 
Merhaba.

Aşağıdaki kodlar ile yapabilirsiniz.

Kod:
Sub Test()
    Dim IlkRakam As Long
    Dim SonRakam As Long
    Dim Sayi As Long
    Dim Alan As Range
    Dim Bak As Range
    Set Alan = Range("A1:A40")
    
    IlkRakam = 50
    SonRakam = 200
    For Each Bak In Alan
RakamVar:
        Sayi = WorksheetFunction.RandBetween(IlkRakam, SonRakam)
        Sayi = WorksheetFunction.Odd(Sayi)
        If Sayi > SonRakam Then Sayi = 1
        If WorksheetFunction.CountIf(Alan, Sayi) > 0 Then GoTo RakamVar
        Bak.Value = Sayi
    Next
End Sub
 
Merhaba.

Aşağıdaki kodlar ile yapabilirsiniz.

Kod:
Sub Test()
    Dim IlkRakam As Long
    Dim SonRakam As Long
    Dim Sayi As Long
    Dim Alan As Range
    Dim Bak As Range
    Set Alan = Range("A1:A40")
   
    IlkRakam = 50
    SonRakam = 200
    For Each Bak In Alan
RakamVar:
        Sayi = WorksheetFunction.RandBetween(IlkRakam, SonRakam)
        Sayi = WorksheetFunction.Odd(Sayi)
        If Sayi > SonRakam Then Sayi = 1
        If WorksheetFunction.CountIf(Alan, Sayi) > 0 Then GoTo RakamVar
        Bak.Value = Sayi
    Next
End Sub


Hocam kusura bakmayın bu kodu formül olarak yazarmısınız??
 
Bu iş formülle yapılamaz diyemiyorum ancak makroyla yapmak çok kolay olacaktır.
 
Sağ
Bu iş formülle yapılamaz diyemiyorum ancak makroyla yapmak çok kolay olacaktır.
sağolsun forum üyelerinden dalgalikur isimli arkadaş makro kod verdi ama oda istediğim gibi çalışmıyor sadece iki koşul istiyorum excelden birincisi benim belirlediğim tek rakamlardan sayı üretecek ikincisi ürettiği sayıyı grup içinde tekrar etmeyecek
 
Aşağıdaki makroyu deneyin. A1:A40 arasına 1-101 arasındaki tek sayılardan rastgele benzersiz olarak yazar:

PHP:
Sub say()
For i = 1 To 40
10:
    sayi = WorksheetFunction.Odd(WorksheetFunction.RandBetween(1, 101))
    If WorksheetFunction.CountIf(Range("A1:A" & i), sayi) > 0 Then
        GoTo 10
    Else
        Cells(i, "A") = sayi
    End If
Next
    
End Sub
 
40 adet rakam da zaten 20 tane tek sayı var max değeri yükseltmeniz gerek.
 
n
Sağ

sağolsun forum üyelerinden dalgalikur isimli arkadaş makro kod verdi ama oda istediğim gibi çalışmıyor sadece iki koşul istiyorum excelden birincisi benim belirlediğim tek rakamlardan sayı üretecek ikincisi ürettiği sayıyı grup içinde tekrar etmeyecek
Yukarıdaki kodlar tam da sizin istediğiniz şeyi yapıyor.
Siz sadece şu aşağıda açıklamalarını yazdığım satırları kendi istediğiniz gibi değiştirn.

Kod:
    Set Alan = Range("A1:A40") 'Kaç tane rakam istiyorsanız buradaki hücre adresini ona göre değiştirin.
    IlkRakam = 50 'Sayı üretmeye hangi rakamdan başlasın
    SonRakam = 200 'Hangi rakamda son bulsun
 
n
Yukarıdaki kodlar tam da sizin istediğiniz şeyi yapıyor.
Siz sadece şu aşağıda açıklamalarını yazdığım satırları kendi istediğiniz gibi değiştirn.

Kod:
    Set Alan = Range("A1:A40") 'Kaç tane rakam istiyorsanız buradaki hücre adresini ona göre değiştirin.
    IlkRakam = 50 'Sayı üretmeye hangi rakamdan başlasın
    SonRakam = 200 'Hangi rakamda son bulsun
Teşekkür ederim üstadım eline sağlık ????????
 
Merhaba, sadece tek değil de belli aralıktaki sayılar arasında bir üretim yapmak istesek? teşekkürler
 
Merhaba.
2. mesajdaki kodu Sayi = WorksheetFunction.Odd(Sayi) satırını silerek kullanın.
 
Geri
Üst