prime number

Katılım
20 Nisan 2020
Mesajlar
5
Excel Vers. ve Dili
güncel ingilizce
Write a VBA code that will generate the list of all prime numbers between lower and upper bound specified by the user. The code should be written in a single “Sub”. Do not use function structures. The code should generate a warning message if the user doesn’t follow the following rules while he/she enters input.

  • the user can enter only numbers for the bounds
  • upper bound should be greater than the lower bound
 

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
Kod:
Function PRIME(St, En As Long)

Dim num As String
For n = St To En
    For m = 2 To n - 1
        If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
PRIME = num
End Function
Kullanım : En küçük ve en büyük aranan Asal sayı aralığını girin.

=PRIME(10;100)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
The code should be written in a single “Sub”. Do not use function structures. The code should generate a warning message if the user doesn’t follow the following rules ...

Bu kısmı da, herhalde Öğrenciye "araştırma ödevi" olarak bırakılmış ..... Tabii o "araştırma ödevi" de burası ya da başka bir Excel forumunda yine "araştırılır(?)", o da ayrı mesele....

.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kod:
Function PRIME(St, En As Long)

Dim num As String
For n = St To En
    For m = 2 To n - 1
        If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
PRIME = num
End Function
Kullanım : En küçük ve en büyük aranan Asal sayı aralığını girin.

=PRIME(10;100)
Sayın Suskun, ilk mesajdan anladığım kadarıyla kullanıcı tanımlı fonksiyon kullanılmaması gerekiyor. Normal makro yazılması istenmiş (Sub ile).
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sayın Suskun, ilk mesajdan anladığım kadarıyla kullanıcı tanımlı fonksiyon kullanılmaması gerekiyor. Normal makro yazılması istenmiş (Sub ile).

O kısmı da, Sn. Suskun'un verdiği ödev .... ( ͡~ ͜ʖ ͡°)

.
 

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
@YUSUF44 sizimi kıralım.

Kod:
Sub PRIMEGEN()

Dim num As String, St As Integer, En As Integer
Dim m As Integer, n As Integer

St = InputBox("Küçük Asal Sayıyı Girin ")
10:
En = InputBox("İlk Sayıdan Büyük Asal Sayıyı Girin ")
If En < St Then GoTo 10

For n = St To En
    For m = 2 To n - 1
      If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
MsgBox num, , "Sonuç"
End Sub
 
Üst