English 中文(简体)
Excel VBA - Sub orFunction not defined Error
原标题:Excel VBA - Sub or Function not defined Error
  • 时间:2012-05-01 13:26:04
  •  标签:
  • excel
  • vba

I m getting a compile error on this method and I can t figure out why. I m getting the "Sub or Function not define" error. Its probably something silly, but escaping me nontheless. Thanks in advance.

Public Function GetReportDate(dept As String) As String

    Dim dateOut As String    this will be the returned value from the method
    Dim dateIn As String     this is the date retrieved from the report

    Dim MonthNum As String
    Dim Temp As String       this variable stores that date that will be manipulated
    Dim StartEnd(1 To 4, 1 To 4) As String
    Dim Period As String
    Dim Year As Integer

     select the date string
    Select Case dept
    Case "Min and AMF": Cells(2, 2).Select
    Case Else: Cells(2, 1).Select
    End Select

    Selection.Font.Bold = True

     store the month, day and year string to the array
    dateIn = ActiveCell.Value
    Temp = dateIn
    StartEnd(1, 1) = Mid(Temp, 1, 2)     1st month
    StartEnd(1, 2) = Mid(Temp, 14, 2)    2nd month
    StartEnd(2, 1) = Mid(Temp, 4, 2)     1st day
    StartEnd(2, 2) = Mid(Temp, 17, 2)    2nd day
    StartEnd(3, 1) = Mid(Temp, 7, 4)     1st year

     assign to two var
    MonthNum = StartEnd(1, 2)
    Year = StartEnd(3, 1)

      change the month format for the 1st month
    Select Case StartEnd(1, 1)
        Case "01": StartEnd(1, 1) = "Jan"
        Case "02": StartEnd(1, 1) = "Feb"
        Case "03": StartEnd(1, 1) = "Mar"
        Case "04": StartEnd(1, 1) = "Apr"
        Case "05": StartEnd(1, 1) = "May"
        Case "06": StartEnd(1, 1) = "Jun"
        Case "07": StartEnd(1, 1) = "Jul"
        Case "08": StartEnd(1, 1) = "Aug"
        Case "09": StartEnd(1, 1) = "Sep"
        Case "10": StartEnd(1, 1) = "Oct"
        Case "11": StartEnd(1, 1) = "Nov"
        Case "12": StartEnd(1, 1) = "Dec"
    End Select

      change the month format for the 2nd month
    Select Case StartEnd(1, 2)
        Case "01": StartEnd(1, 2) = "Jan"
        Case "02": StartEnd(1, 2) = "Feb"
        Case "03": StartEnd(1, 2) = "Mar"
        Case "04": StartEnd(1, 2) = "Apr"
        Case "05": StartEnd(1, 2) = "May"
        Case "06": StartEnd(1, 2) = "Jun"
        Case "07": StartEnd(1, 2) = "Jul"
        Case "08": StartEnd(1, 2) = "Aug"
        Case "09": StartEnd(1, 2) = "Sep"
        Case "10": StartEnd(1, 2) = "Oct"
        Case "11": StartEnd(1, 2) = "Nov"
        Case "12": StartEnd(1, 2) = "Dec"
    End Select


     Change the Date Format After the Min Qem has been executed
     If dept = "Min and AMF" Then

          the 1st and 2nd month are equal
        If StartEnd(1, 1) = StartEnd(1, 2) Then
              find the type of report
            If StartEnd(2, 2) - StartEnd(2, 1) <= 7 Then
                Period = "Week"
            Else
                 Period = "Month"
            End If

              change the report period to the right format
            ActiveCell = Period & " of " & StartEnd(1, 1) & " " & StartEnd(2, 1) & " " _
                    & "to" & " " & StartEnd(2, 2) & " " & Year
        Else       the 1st and 2nd month are NOT equal
            If 30 - StartEnd(2, 1) + StartEnd(2, 2) >= 20 Then
                Period = "Month"
            Else
                Period = "Week"
            End If


     change the header of the report to represt the period
                ActiveCell = Period & " of " & StartEnd(1, 1) & " " & StartEnd(2, 1) _
                        & " " & "to" & " " & StartEnd(1, 2) & " " & StartEnd(2, 2) _
                        & " " & Year
            End If

         return the dateout
        dateOut = Temp
        GetReportDate = dateOut
    End Function

当使用这种方法时,这是我用的。

CurReport = GetReportName(sDept)
问题回答

你所说的话与你确定的职能之间有不匹配之处。 <代码>Date和Name不相同。

Public Function GetReportDate(dept As String) As String
        GetReportDate = dateOut
    End Function

is not going to be called by

CurReport = GetReportName(sDept)




相关问题
import of excel in SQL imports NULL lines

I have a stored procedure that imports differently formatted workbooks into a database table, does work on them then drops the table. Here is the populating query. SELECT IDENTITY(INT,1,1) AS ID ...

Connecting to Oracle 10g with ODBC from Excel VBA

The following code works. the connection opens fine but recordset.recordCount always returns -1 when there is data in the table. ANd If I try to call any methods/properties on recordset it crashes ...

Excel date to Unix timestamp

Does anyone know how to convert an Excel date to a correct Unix timestamp?

C# GemBox Excel Import Error

I am trying to import an excel file into a data table using GemBox and I keep getting this error: Invalid data value when extracting to DataTable at SourceRowIndex: 1, and SourceColumnIndex: 1. As ...

Importing from excel "applications" using SSIS

I am looking for any tips or resources on importing from excel into a SQL database, but specifically when the information is NOT in column and row format. I am currently doing some pre-development ...

热门标签