爱问知识人 爱问教育 医院库

VBA问题:如何在for循环结束后,仍保留循环中得到的值

首页

VBA问题:如何在for循环结束后,仍保留循环中得到的值

Option Base 1
Sub aaa()

Dim gongxu As Variant
gongxu = Array("测量放线", "清理作业带", "挖沟", "焊接", "检测")
Dim j%
For j = 1 To 5
Dim hang() As Variant
hang = Array("", "", "", "", "")
On Error Resume Next
hang(j) = Application.WorksheetFunction.Match(gongxu(j), Sheets(1).Range("a1: a30"), 0)
MsgBox hang(j)
Next j

'问题出在这里,我仍想使用以上循环中得到的5个值,但执行后提示hang(1)="",为空。
 
MsgBox hang(1)

End Sub

Option Bas……
提交回答
好评回答
  • 2009-04-02 13:52:53
    将过程内的局部变量声明为静态的就可以了。
    例如:
    可以将Dim hang() As Variant 
    修改为:Static hang() As Variant 
    或者将整个过程声明为静态的,这样内部的所有局部变量都将是静态的,就可以保留过程计算中所存储的数值。
    把 Sub aaa() 修改为:Static Sub aaa()

    心***

    2009-04-02 13:52:53

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 172-191
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):