我想創建一個函式 prime(x) 并且 x 可以是“B1”、“A3”或其他單元格。但是,我對 EXCEL VBA 中的代碼感到很困惑。誰能幫我?非常感謝。
Function prime(x As String) As Boolean
Dim i As Integer, y As Integer
y = Range("x")
For i = 1 To ROUNDOWN(Sqr(y, 0))
If y Mod i = 0 Then
prime = True
Else
prime = False
End If
Next i
End function
uj5u.com熱心網友回復:
首先你想在函式中使用 Range 而不是 string。
然后您想將布林值設定為 True 并回圈查看它是否可整除。
然后從 2 開始回圈
Function prime(x As Range) As Boolean
Dim i As Long, y As Long
y = x.Value
prime = True
For i = 2 To Application.RoundDown(Math.Sqr(y), 0)
If y Mod i = 0 Then
prime = False
Exit For
End If
Next i
End Function
僅供參考,Office 365 公式版本:
=NOT(OR(MOD(A1,SEQUENCE(ROUNDDOWN(SQRT(A1),0)-1,,2))=0))
舊版本:
=NOT(OR(MOD(A1,ROW($ZZ2:INDEX($ZZ:$ZZ,ROUNDDOWN(SQRT(A1),0))))=0))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/364552.html
上一篇:ExcelVBA-粘貼后添加單詞
下一篇:ExcelVBA-添加行
