gpt4 book ai didi

excel - 将常量的字符串表示形式转换为常量?

转载 作者:行者123 更新时间:2023-12-02 13:52:47 26 4
gpt4 key购买 nike

我正在尝试从数据单元格接受格式常量,因此我有一个字符串“xlTotalsCalculationAverage”。我怎样才能将其转换成它所代表的Excel常量?常量 xlTotalsCalculationAverage 等于整数 2。

ActiveSheet.ListObjects(1).ListColumns(RemainingHeader).TotalsCalculation = xlTotalsCalculationAverage

是静态表示。

TargetTotal = something("xlTotalsCalculationAverage")
ActiveSheet.ListObjects(1).ListColumns(RemainingHeader).TotalsCalculation = TargetTotal

是我的目标。

我可以创建一个巨大的 case 或 switch 语句,但复制所有可能的值似乎很愚蠢。

如何让 Excel 将此字符串转换为已知的常量值?

最佳答案

总是这样:

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

但实际上 - 不要这样做。

关于excel - 将常量的字符串表示形式转换为常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com