SPLIT函数问题

jjzhtbj 2009-05-15 08:41:14
Public ZQ8Str1, ZQ8Str2 As String
Option Base 1
Public Temp7() As Variant
...

Public Sub HisDInput(ByVal I1, I2, Length, Pst, Clr As String)
...
Do
ZQ8Str2 = LottorySheet.Cells((Temp6(1) + Str + N), 3)
If ZQ8Str2 <> "" Then
Temp7 = Split(ZQ8Str2, "/")
End If
N = N + 1
ASheet = "对应表"
Call 对应查找(LottoryBook.Worksheets(ASheet))
Loop While N < 5
...

Public Sub 对应查找(ByVal LottorySheet As Excel.Worksheet)
LottorySheet.Select
If Temp7(1) = "" Then <--此处出现错误信息:实时错误9,下标越届
Exit Sub
End If
...

监控信息:
Watch : : Temp7(1) : <下标越界> : Variant/Integer : QWlottory.HisDInput
Watch : : ZQ8Str2 : 空值 : Variant/Empty : QWlottory.对应查找

如将Public Sub HisDInput(ByVal I1, I2, Length, Pst, Clr As String)中的IF语句去掉,只保留Temp7 = Split(ZQ8Str2, "/"),则又会提示实时错误13,类型不匹配

哪位老大知道我的错误在哪里?

谢谢!
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2009-05-16
  • 打赏
  • 举报
回复
Public Temp7 As Variant
jjzhtbj 2009-05-15
  • 打赏
  • 举报
回复
如ZQ8Str2中没有"/",那么在ZQ8Str2中就是""(空).但我会在Public Sub 对应查找(ByVal LottorySheet As Excel.Worksheet)里面对此情况做相应处理.

Temp(1)难道不是Temp()中的一员吗?
为什么我将Public Temp7() As Variant 改成了Public Temp7() As String后监控信息Watch : : Temp7(1) : <下标越界> : Integer : QWlottory.HisDInput,显示Temp(1)的类型是Integer?
zzyong00 2009-05-15
  • 打赏
  • 举报
回复
ZQ8Str2中没有"/"

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧