Function selectE(phi) As Integer()
Dim list() As Integer
Dim count As Integer
count = 0
For i = 2 To phi
If WorksheetFunction.Gcd(phi, i) = 1 Then
ReDim Preserve list(count + 1)
list(count) = i
count = count + 1
End If
Next i
selectE = list()
End Function
上述功能允許你返回素數的陣列。
不過,我做了一些微小的編輯它:
它返回一個整數數組,而不是變體,使之更明確的(即Function selectE(phi) As Integer()
)
我沒有」 t將初始數組大小設置爲999(即Dim list() As Integer
),我使用Redim Preserve list(count + 1)
使它的大小增加爲動態數組中的素數
所以,現在我們需要一個子調用該函數,然後與素數的細胞通過返回數組迭代填寫。請注意,我們正在填充第一列,並且for循環會增加行以將值放入(即Cells(i + 1,1)= myarr(i))中。另外請注意,我只是在selectE(1234)
中測試它的編號爲1234,但您可以爲任意數字進行測試。
Sub FillInCells()
Dim myarr() as Integer
Dim i as Integer
myarr = selectE(1234)
For i = 0 to UBound(myarr) - 1
Cells(i + 1, 1).Value = myarr(i)
Next i
End Sub
究竟你是如何輸入公式? –
我沒有看到你填寫單元格的部分。這是一個返回數組數組的函數。所有你需要做的是通過一個返回數組並細胞(每次增加細胞的位置) – cullan
我只是在Excel單元格中寫的函數名稱調用函數填寫。 –