麻烦老师帮忙改一下代码

okok588 2008-12-23 01:11:09
Private Sub Command15_Click()
Dim str1 As String, c As String
Dim arr() As String
Dim ii As Integer, hh As Integer, y As Integer
Dim a(1 To 12) As String
Dim count(7 To 12) As Long
Dim s As Integer
Dim i As Long, j As Long, k As Long, m As Long
Dim h As String

For ii = 0 To List2.ListIndex
str1 = List2.List(ii)
arr = Split(str1, ",")

For i = 0 To 11
a(i + 1) = arr(i)
Next
For y = 1 To MSFlexGrid1.Rows - 1
s = MSFlexGrid1.TextMatrix(y, 1)
c = s

If Len(c) = 3 And IsNumeric(c) And InStr(1, c, "-") = 0 And InStr(1, c, ".") = 0 And InStr(1, c, "E") = 0 Then
For k = 1 To 3
For j = 7 To 12
If InStr(1, a(j), Mid(c, k, 1)) <> 0 Then count(j) = count(j) + 1
Next j
Next k
For m = 7 To 12
If count(m) <> 0 Then
h = h & count(m) & a(m - 6)
End If
Next
End If


hh = MSFlexGrid1.Col

MSFlexGrid1.TextMatrix(y, hh + ii) = h

Erase count
h = ""
Next
Next

End Sub
这段代码不能辨认类似于s=078的,只要s开头是0的都不能辨认,该如何改呢
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2008-12-23
  • 打赏
  • 举报
回复

Dim s As Integer
Dim str1 As String, c As String

很简单,"078" 赋值给 s 的时候,变成了 78,再赋值给 c 变成了 "78”,当然不符合 Len(c) = 3 的条件了。

c = Trim(MSFlexGrid1.TextMatrix(y, 1))


anjun359554673 2008-12-23
  • 打赏
  • 举报
回复

Dim s As Integer 这里定义的是整型。要把它转换成字符型。或其它能被识别的类型。。。
51Crack 2008-12-23
  • 打赏
  • 举报
回复

7,763

社区成员

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

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