Converting a string representation of a constant into a constant?

前端 未结 2 535
礼貌的吻别
礼貌的吻别 2020-11-30 15:35

I\'m trying to accept a formatting constant from a data cell, so I have a string \"xlTotalsCalculationAverage\". How can I translate that into the Excel constant it represen

2条回答
  •  没有蜡笔的小新
    2020-11-30 15:57

    There's always this:

    Sub Tester()
        MsgBox WhatIsTheValue("xlTotalsCalculationAverage")
        MsgBox WhatIsTheValue("xlTotalsCalculationCountNums")
    End Sub
    
    
    
    Function WhatIsTheValue(s As String) As Variant
    
            Dim VBProj As VBIDE.VBProject
            Dim VBComp As VBIDE.VBComponent
            Dim CodeMod As VBIDE.CodeModule
            Set VBProj = ActiveWorkbook.VBProject
            Set VBComp = VBProj.VBComponents("modTemp")
            Set CodeMod = VBComp.CodeModule
    
            With CodeMod
                .DeleteLines 1, .CountOfLines
                .InsertLines 1, "Public Function GetEnumVal()"
                .InsertLines 2, "GetEnumVal = " & s
                .InsertLines 3, "End Function"
            End With
            WhatIsTheValue = Application.Run("GetEnumVal")
    
    End Function
    

    But really - don't do that.

提交回复
热议问题