vba定义的全局变量,在一个模块中初始化完以后,到另一个模块以后就全变成0了,这个是为什么啊

PublicEEP_Original_eepName()AsStringPublicEEP_Original_eepSize()AsStringPublicEEP_Ori... Public EEP_Original_eepName() As String
Public EEP_Original_eepSize() As String
Public EEP_Original_eepValue() As String
Public EEP_Original_eepHexValue() As String

Public EEP_Changed_eepName() As String
Public EEP_Changed_eepSize() As String
Public EEP_Changed_eepValue() As String
Public EEP_Changed_eepHexValue() As String

Public EEP_Aef_eepName() As String
Public EEP_Aef_eepValue() As String
Public Function MPF_StoreOriginalEEP()

Dim idx As Integer
Dim StrStartAddr As String
Dim StrEndAddr As String

StrStartAddr = ThisWorkbook.Worksheets("EEPROM Configuration").Cells(5, "B")
StrEndAddr = ThisWorkbook.Worksheets("EEPROM Configuration").Cells(6, "B")

MPP_FixedEepSize = Val("&H" + StrStartAddr) - Val("&H" + StrEndAddr) + FixedCalibrationStartIndex
ReDim EEP_Original_eepName(MPP_FixedEepSize)
ReDim EEP_Original_eepSize(MPP_FixedEepSize)
ReDim EEP_Original_eepValue(MPP_FixedEepSize)
ReDim EEP_Original_eepHexValue(MPP_FixedEepSize)
For idx = FixedCalibrationStartIndex To MPP_FixedEepSize Step 1

EEP_Original_eepName(idx) = ThisWorkbook.Sheets("Fixed Calibration").Cells(idx, "B")
EEP_Original_eepSize(idx) = ThisWorkbook.Sheets("Fixed Calibration").Cells(idx, "C")
EEP_Original_eepValue(idx) = ThisWorkbook.Sheets("Fixed Calibration").Cells(idx, "E")
EEP_Original_eepHexValue(idx) = ThisWorkbook.Sheets("Fixed Calibration").Cells(idx, "F")

这里提示下标越界了,因为没有这个数组,但是在初始化的时候我调试明明看到都是有值的,怎么到另个一模块就没了呢?
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
冒沛春RV
推荐于2018-04-18 · 超过51用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:81.1万
展开全部
可以的。你只要新建一个模块写public a(10) as integer就好了。窗体内的只限于窗体有效。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式