我正在嘗試編寫一個VBA宏,它通過計算直接在其上方和下方的單元格的平均值,將值分配給特定單元格。我通過選擇開發工具欄上的宏按鈕來運行它,然後我必須鍵入我的函數的名稱(它不會出現在列表中)「interpprob」並選擇運行。然後我得到一個彈出窗口,其中指出「參數不是可選的」。我不太確定問題是什麼。完整的宏在下面。 「tstep」意味着需要更改一些單元格值的一組行的數組。VBA「參數不可選」 - 不確定如何聲明變量
Function interpprob(f As Integer, d As Integer, spec As String, tstep As Long, above As Long, below As Long, i As Integer, j As Integer)
f = 41
d = 441
spec = ETHA
tstep(0) = f
tstep(1) = f + d
tstep(2) = f + 2 * d
tstep(3) = f + 5 * d
For i = 0 To 4
For j = 52 To 57
above = Cells(tstep(i) - 1, j).Value
below = Cells(tstep(i) + 1, j).Value
Sheets(spec).Cells(tstep(i), j).Value = (above + below)/2
Next j
Next i
End Function
感謝, BL袋鼠
確保您使用全部8個參數調用'interpprob'。 – miroxlav
這將如何完成?只需輸入「interpprob(f,d,spec,tstep,above,below,i,j)」? –
您需要實際值(參數)來代替這8個參數。你有什麼想法,你會把'f','d','spec'等放在什麼位置? – miroxlav