VBA:无法获得参数智能感知来处理枚举

时间:2021-07-02 15:44:48

标签: excel vba intellisense

我有一个 sub 接受用于创建和填充列的数据,其中包括自动填充给定的字符串。我希望为自动填充类型包含一个参数,并在提示选择类型时弹出一个下拉列表。根据我的阅读,这可以通过声明一个枚举并在参数列表中使用它来实现,我在以下链接中找到了该列表。

VBA Function argument list select

http://www.cpearson.com/excel/Enums.aspx

然而,尽管关注了这些网站,我还是无法获得 enum 参数的下拉列表,而且我不确定我做错了什么。

Sub Test()
Call AutoFillNewColumn(, , , 0)
End Sub

Public Sub AutoFillNewColumn(ColumnHeader As Range, ColumnTitle As String, ByVal Formula As String, fillType As AutofillType)
'Purpose: To quickly populate a column with a header and common formula.

'Declare variables.  Used for acquiring specific workbook/worksheet information for later.
    Dim WB, WS As String
        WB = ColumnHeader.Worksheet.Parent.Name
        WS = ColumnHeader.Worksheet.Name
'Set column header.
    ColumnHeader.value = ColumnTitle
'Input formula in 2nd cell of column.
    ColumnHeader.Offset(1, 0).value = Formula
'Autofill formula.  Looks complicated, but this is all designed so it can work regardless of what workbook or worksheet it is being used on.
    If IsEmpty(Workbooks(WB).Sheets(WS).Range("A3")) = False Then
        ColumnHeader.Offset(1, 0).AutoFill _
            Destination:=Workbooks(WB).Sheets(WS).Range(ColumnHeader.Offset(1, 0), _
            Workbooks(WB).Sheets(WS).Cells(Workbooks(WB).Sheets(WS).Cells.Find _
            (What:="*", After:=Workbooks(WB).Sheets(WS).Cells(1), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).row, _
            ColumnHeader.Column)), Type:=typeFill
    End If
End Sub

    Public Enum AutofillType
        xlFillDefault = 0
        xlFillCopy = 1
        xlFillDays = 2
        xlFillFormats = 3
        xlFillValues = 4
        xlFillDays = 5
        xlFillWeekdays = 6
        xlFillMonths = 7
        xlFillYears = 8
        xlLinearTrend = 9
        xlGrowthTrend = 10
        xlFlashFill = 11
    End Enum

My result

0 个答案:

没有答案
相关问题