Sub
DataStrIn(Xpos, Ypos)
Dim
I As Long, keyin As String
Dim
f(100) As Single, x(100) As Single
Do
keyin1 = InputBox("輸入x值,以空白區隔。"
& vbNewLine & "例:1
2 3", "x值", keyin1)
If Not SepStrToNumArray(keyin1, " ", 1, n, x) Then Call
WrongValue(1)
keyin2 = InputBox("輸入f(x),以空白區隔。"
& vbNewLine & "例:10
20 30", "f(x)值", keyin2)
If Not SepStrToNumArray(keyin2, " ", 1, m, f) Then Call
WrongValue(1)
If m <> n Then Call WrongValue(2)
Loop
While m <> n
Cls
For
I = 1 To n
Print I, x(I), f(I)
Next
End
Sub
Sub
WrongValue(ID)
Select
Case ID
Case
1
MsgBox "所輸入的數值無效",
vbExclamation, "警告"
Case
2
MsgBox "所輸入的數值m<>n無效",
vbExclamation, "警告"
End
Select
End
Sub
Function
SepStrToNumArray(StrHandled, SepChr, BaseNumber, Number, RetrunData) As Boolean
Dim
I As Long, J As Long, Temp As String
StrHandled
= Trim(StrHandled)
Number
= BaseNumber - 1
Do
I = InStr(J + 1, StrHandled, SepChr, vbBinaryCompare)
If I <> J + 1 Then
Number = Number + 1
If I <> 0 Or (I = 0 And J < Len(StrHandled)) Then
If I <> 0 Then
Temp = Mid(StrHandled, J + 1, I - J - 1)
Else
Temp = Mid(StrHandled, J + 1)
End If
If Not IsNumeric(Temp) Or InStr(Temp, ",") > 0 Then Exit
Function
RetrunData(Number) = Temp
End If
End If
J = I
Loop
Until I = 0
SepStrToNumArray
= True
End
Function
Sub
DataKeyIn_Click()
Call
DataStrIn(500, 4500)