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???
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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
 
Katılım
2 Mayıs 2020
Mesajlar
6
Excel Vers. ve Dili
Türkçe
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??
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
Deneyin
=TEK(RASTGELEARADA(1;100))
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu iş formülle yapılamaz diyemiyorum ancak makroyla yapmak çok kolay olacaktır.
 
Katılım
2 Mayıs 2020
Mesajlar
6
Excel Vers. ve Dili
Türkçe
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
40 adet rakam da zaten 20 tane tek sayı var max değeri yükseltmeniz gerek.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
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
 
Katılım
2 Mayıs 2020
Mesajlar
6
Excel Vers. ve Dili
Türkçe
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 ????????
 

scooby

Altın Üye
Katılım
15 Aralık 2016
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
06-12-2024
Merhaba, sadece tek değil de belli aralıktaki sayılar arasında bir üretim yapmak istesek? teşekkürler
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
2. mesajdaki kodu Sayi = WorksheetFunction.Odd(Sayi) satırını silerek kullanın.
 
Üst