VBA奇数/模

VBA奇数/模,vba,mod,Vba,Mod,我正在寻找有关VBA脚本的帮助。我一直在想如何使用mod函数 这就是我到目前为止所做的: Function AddOddNumbersWithMod(nr) Dim i, sum sum = 0 For i = (IF 1 MOD 2 = 0) to nr step 1 sum = sum + i <-- (calculate all the odd numbers before nr) Next i End Function 函数AddO

我正在寻找有关VBA脚本的帮助。我一直在想如何使用mod函数

这就是我到目前为止所做的:

Function AddOddNumbersWithMod(nr)
    Dim i, sum
    sum = 0
    For i = (IF 1 MOD 2 = 0) to nr step 1
        sum = sum + i <-- (calculate all the odd numbers before nr)
    Next i
End Function
函数AddOddNumbersWithMod(nr)
点心
总和=0
对于i=(如果1模2=0)到nr步骤1
sum=sum+i
函数AddOddNumbersWithMod(nr)
我只要点心,只要点心
总和=0
对于i=1至nr-1步骤1
如果(i Mod 2 0)那么

sum=sum+i'如果希望i Mod 2的结果为1,它将显示余数,如果使用2作为除数,则希望1的余数显示奇数。例如7 mod 2=1,这是因为7除以2等于3,余数为1,这就是我们感兴趣的余数

Function AddOddNumbersWithMod(nr)
    Dim i As Double, MySum As Double
    For i = 0 To nr
         If i Mod 2 = 1 Then MySum = MySum + i ' <-- (calculate all the odd numbers before nr)
    Next i
    AddOddNumbersWithMod = MySum
End Function
函数AddOddNumbersWithMod(nr)
我是双倍的,我是双倍的
对于i=0到nr

如果i Mod 2=1,那么为了完整性起见,MySum=MySum+i',下面是一个无循环版本:

Function SumOfOdds(n As Long) As Long
    'returns sum 1 + 3 + 5 + ... of all odd numbers <= n
    SumOfOdds = Int((n + 1) / 2) ^ 2
End Function
函数SumOfOdds(n等于长)等于长

'返回总和1+3+5+。。。在所有奇数中,请在这里发布时学会设置代码格式。您可以通过单击?按钮位于您正在键入帖子的区域的右上角。(您的代码中有一个明显的错误—请查看i=
之后()中的条件,看看是否可以发现它。)为什么要使用循环呢<代码>1+3+5+…+(2k-1)=k^2
。学习循环的另一种方法<对于i=1到nr步骤2,如果(1模2)=0,则代码>将始终为
False
0
。为什么要在一个
If
语句中使用固定的、神奇的数字进行计算,它的计算结果总是相同的?只要使用i=0到nr的
,然后找一些其他有用的地方来学习如何使用
MOD
。我正试图解出这个等式,这真是一件美妙的事情:)非常有教育意义,脱帽致敬。数学老师的诗:)
Function AddOddNumbersWithMod(nr)
    Dim i As Double, MySum As Double
    For i = 0 To nr
         If i Mod 2 = 1 Then MySum = MySum + i ' <-- (calculate all the odd numbers before nr)
    Next i
    AddOddNumbersWithMod = MySum
End Function
Function SumOfOdds(n As Long) As Long
    'returns sum 1 + 3 + 5 + ... of all odd numbers <= n
    SumOfOdds = Int((n + 1) / 2) ^ 2
End Function
Sub Oddeven()
  Dim x As Double
  x = InputBox("Please enter the Number: ")
  If x Mod 2 = 0 Then
    MsgBox ("The Number is the Even Number")
  Else
    MsgBox ("The Number is the Odd Number")
  End If
End Sub