永发信息网

VB 加for next语句后提示“运行时错误91,对象变量或WITH块变量未设置”

答案:3  悬赏:60  手机版
解决时间 2021-02-06 11:34
  • 提问者网友:活着好累
  • 2021-02-06 08:20
Sub Macro1()
Dim p As String
Dim i As Integer
p = InputBox("请输入月份,格式为大写月(如七月,不能输成7月)。")

For i = 3 To 9
ThisWorkbook.Worksheets(i).Select
Range("n5:z5").Select

Selection.Find(What:=p, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
Range("t2:t2") = ActiveCell.Column
Next i

End Sub

问题:VB 未加for next时运行正常,但加for next语句后提示“运行时错误91,对象变量或WITH块变量未设置”
最佳答案
  • 五星知识达人网友:行路难
  • 2021-02-06 09:30
问题:VB 未加for next时运行正常,但加for next语句后提示“运行时错误91,对象变量或WITH块变量未设置”

原因:变量超过数据范围,引起错误

分析:以下面为例
ThisWorkbook.Worksheets(i).Select
'如果Worksheets表没有Index属性为8的,当i为8时,选择为Index属性8时,但实际没有对应的索引8的表时,就会出现上面的错误,请调试,当I超过多少时发生错误的。再检查实际表是否存在再进行判断;
全部回答
  • 1楼网友:走死在岁月里
  • 2021-02-06 11:31
for/next语句中,循环控制变量只能是整型变量。——错误! 举一个例子: for i=1 to 2 step 0.1 print i; next i 能运行,且结果正确,说明i不是整形变量也可以。
  • 2楼网友:轮獄道
  • 2021-02-06 11:08
我暂时保留我的看法!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯