【发布时间】:2018-08-14 09:47:00
【问题描述】:
我在为变量分配前缀列表中的值时遇到问题。 我会解释得更好。在“Module8”中,我放置了以下具有常量值的变量:
Public Const Europe = 0.12, _
Middle_East= 0.12, _
Africa = 0.185
这也应该对其他模块可见。在“Module5”中,我有以下几行:
Sub CalcPop()
Sheets("Region").Select
Data = Range("I7:I15").Value
Geo_Region = Data(1, 1)
Population = Data(3, 1)
Extension = Data(4, 1)
S = Data(7, 1)
S = S * (1 - Geo_Region)
现在“Module5”中的代码读取名为“Region”的工作表,其中以字符串形式存在区域(即欧洲、非洲等),因此变量“Geo_Region”被确定为 Europe、Africa、等等。 问题是当它出现在 S = S * (1 - Geo_Region) 行时,它给了我运行时错误“13”“类型不匹配”。我猜是因为代码读取了工作表中的字符串,但它无法将字符串与“Module8”中的公共常量中存在的值相关联。 您能否建议我如何将公共列表中存在的值与工作表中的字符串相关联?
提前谢谢你!
【问题讨论】:
-
您不能将变量名分配给另一个变量。 Excel 将其视为字符串而不是变量。
标签: string vba excel public type-mismatch