VBA列出質數

質數是指大於1的自然數中,只能被1和自己整除的數,也就是一個質數除了1和它本身,沒有其他的因數,以下帶你使用「VBA列出質數」。
輸入巨集
※輸入以下指令※
Sub 列出質數() Dim N As Integer Dim i As Integer Dim rowNum As Integer rowNum = 1 For N = 3 To 100 For i = 2 To N - 1 If N Mod i = 0 Then Exit For Next i If i = N Then Cells(rowNum, 1) = N rowNum = rowNum + 1 End If Next N End Su

執行巨集
點選「開發人員」-「 巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則於A欄儲存格依序列出「3~100」之間的質數。

若想列出「100~1000」之間的質數,則將N = 3 To 100,改成N = 100 To 1000。

執行後則於A欄儲存格依序列出「100~1000」之間的質數。

語法說明
For i = 2 To N – 1
‘從 i = 2 開始,一直檢查到 N – 1 (因為質數的定義是除了1和自己以外不能被其他數整除,所以要測試2到N-1這些數。)
If N Mod i = 0 Then
‘如果 N 除以 i 剛好整除(餘數是0),就代表 N 有其他因數, N 就不是質數
If i = N Then
‘如果i等於N,代表沒有整除過,也就是質數
Cells(rowNum, 1) = N
‘如果確定是質數,把這個數字 N 填到第 「rowNum 」列第 1 欄。rowNum = rowNum + 1
‘把 rowNum 往下加 1列,再寫入新的質數。