Function a()
    Dim i&, j&, k
    ReDim k((2050 - 2012) \ 4)
    
    For i = 2012 To 2050 Step 4
        k(j) = i
        j = j + 1
    Next
    
    a = k
End Function

解决方案 »

  1.   

    不可能用CALL调用啦-_- 
    用call调用的函数无法取得返回值-_-
      

  2.   

    Public Sub FindLeap()
    n = 0
    Y = 2010
    Do Until (Y > 2050)
    If Y Mod 4 = 0 Then
        If (Y Mod 100) <> 0 Then
        leap = 1
        ElseIf (Y Mod 400) = 0 Then
        leap = 1
            Else
            leap = 0
        End If
    Else
    leap = 0
    End If
    If leap = 1 Then
       Print Y;
       n = n + 1
    If n Mod 5 = 0 Then
    Print
    End If
    Y = Y + 1
    Loop
    End SubPrivate Sub cmdleap_click()
    Print "2010年至2050年之间的闰年:"
    Call FindLeap
    End Sub
    运行的时候,提示Loop缺少do ????
      

  3.   


    Private Sub FindLeap()
        Dim i As Long
        
        For i = 2010 To 2050
            If IsDate(CStr(i) & "-2-29") Then
                Debug.Print i
            End If
        Next
    End Sub
      

  4.   

    Public Sub FindLeap()
    n = 0
    Y = 2010
    Do Until (Y > 2050)
        If Y Mod 4 = 0 Then
            If (Y Mod 100) <> 0 Then
                leap = 1
            ElseIf (Y Mod 400) = 0 Then
                leap = 1
            Else
                leap = 0
            End If
        Else
            leap = 0
        End If
        If leap = 1 Then
           Print Y;
           n = n + 1
            If n Mod 5 = 0 Then Print'这里有问题,if end if 不配对
        End If
        Y = Y + 1
    Loop
    End SubPrivate Sub cmdleap_click()
    Print "2010年至2050年之间的闰年:"
    Call FindLeap
    End Sub
      

  5.   

    Public Sub FindLeap()
    n = 0
    Y = 2010
    Do Until (Y > 2050)
        If Y Mod 4 = 0 Then
            If (Y Mod 100) <> 0 Then
                leap = 1
            ElseIf (Y Mod 400) = 0 Then
                leap = 1
            Else
                leap = 0
            End If
        Else
            leap = 0
        End If
        If leap = 1 Then
           Print Y;
           n = n + 1
            If n Mod 5 = 0 Then Print'这里改一下
        End If
        Y = Y + 1
    Loop
    End SubPrivate Sub cmdleap_click()
    Print "2010年至2050年之间的闰年:"
    Call FindLeap
    End Sub
      

  6.   

    Public Sub FindLeap()
    n = 0
    Y = 2010
    Do Until (Y > 2050)
        If Y Mod 4 = 0 Then
            If (Y Mod 100) <> 0 Then
                leap = 1
            ElseIf (Y Mod 400) = 0 Then
                leap = 1
            Else
                leap = 0
            End If
        Else
            leap = 0
        End If
        If leap = 1 Then
           Print Y;
           n = n + 1
            If n Mod 5 = 0 Then Print'这里改一下
        End If
        Y = Y + 1
    Loop
    End SubPrivate Sub cmdleap_click()
    Print "2010年至2050年之间的闰年:"
    Call FindLeap
    End Sub
      

  7.   

    'TO 运行的时候,提示Loop缺少do ????If leap = 1 Then
       Print Y;
       n = n + 1
    If n Mod 5 = 0 Then
    Print
    End If
    '改为
        If leap = 1 Then
          Print Y;
          n = n + 1
        End If
        If n Mod 5 = 0 Then
          Print
        End If
      

  8.   

    Private Sub Command1_Click()
    Dim i       As Integer
    Dim datTemp As Date    For i = 2010 To 2050
            datTemp = GetLastDate_Month(DateSerial(i, 2, 1))
            If Day(datTemp) = 29 Then
                Debug.Print i
            End If
        Next i
    End SubPrivate Function GetLastDate_Month(ByVal datDate As Date) As Date
        GetLastDate_Month = DateAdd("d", -Day(DateAdd("m", 1, datDate)), DateAdd("m", 1, datDate))
    End Function
      

  9.   

    Private Sub Command1_Click()
    Dim i As Integer
    With CreateObject("scripting.dictionary")
    For i = 2010 To 2050
    If Day(DateSerial(i, 3, 0)) = 29 Then .Add i, Nothing
    Next
    MsgBox Join(.keys, vbCrLf)
    End With
    End Sub