第十四行数据=
65100 65360 65610 65850 66060 66240 66400 66600 66890 67100 Private Sub chulidata(ByVal fpath As String, ByVal cfpath As String)
Dim hangdata As String
Dim str As String
Dim arr() As String
Dim suanfa As String
Dim shuju As String
Dim k As Long
Open fpath For Input As #1
Open cfpath & File1.List(i) For Output As #2
k = 0
hangdata = ""
While k < 13
Line Input #1, hangdata
Print #2, hangdata
k = k + 1
Wend
Do While Not EOF(1)
Line Input #1, hangdata
str = hangdata
shuju = ""
Do While InStr(str, " ") > 0
str = Replace(str, " ", " ")
arr = Split(str, " ")
Loop
For j = 0 To UBound(arr)
'MsgBox arr(j), vbInformation
suanfa = arr(j)
shuju = shuju & " " & suanfa
Next j
Print #2, shuju
Loop
Close
End Sub
当用上面的方法可以输出原来数字,但如果把
suanfa = arr(j)改为了suanfa = arr(j) / 10
就会出现类型不匹配?
应该属于数字,可以相除吧。。
讨教来了
65100 65360 65610 65850 66060 66240 66400 66600 66890 67100 Private Sub chulidata(ByVal fpath As String, ByVal cfpath As String)
Dim hangdata As String
Dim str As String
Dim arr() As String
Dim suanfa As String
Dim shuju As String
Dim k As Long
Open fpath For Input As #1
Open cfpath & File1.List(i) For Output As #2
k = 0
hangdata = ""
While k < 13
Line Input #1, hangdata
Print #2, hangdata
k = k + 1
Wend
Do While Not EOF(1)
Line Input #1, hangdata
str = hangdata
shuju = ""
Do While InStr(str, " ") > 0
str = Replace(str, " ", " ")
arr = Split(str, " ")
Loop
For j = 0 To UBound(arr)
'MsgBox arr(j), vbInformation
suanfa = arr(j)
shuju = shuju & " " & suanfa
Next j
Print #2, shuju
Loop
Close
End Sub
当用上面的方法可以输出原来数字,但如果把
suanfa = arr(j)改为了suanfa = arr(j) / 10
就会出现类型不匹配?
应该属于数字,可以相除吧。。
讨教来了
空格可能相除的时候出现问题了。
Do While Not EOF(1)
Line Input #1, hangdata
str = hangdata
shuju = ""
Do While InStr(str, " ") > 0
str = Replace(str, " ", " ")
arr = Split(str, " ")
Loop
可能这里出现了问题。arr(i)中出现了空值的数组元素,
该如何改呢。。函数这样用应该没错吧。把空格字符中的数字挑出来
昨天搞到现在。。还是懵懂ing中。
suanfa = Cstr(Val(arr(j)) / 10)
Line Input #1, hangdata
str = hangdata
shuju = ""
Do While InStr(str, " ") > 0
str = Replace(str, " ", " ")
Loop
arr = Split(str, " ") '这句放到循环外面
Loop
你写的函数在我的数据中有问题。
Do While Not EOF(1)
Line Input #1, hangdata
str = hangdata
shuju = ""
Do While InStr(str, " ") > 0
str = Replace(str, " ", " ")
arr = Split(str, " ")
Loop
其实加个函数就行了。
就是str=trim(hangdata)
把循环放在外面也没有。下面认识思考后,去找参考书看了下。
谢谢楼上非常热心。