Function FLW(X As Range, Y As Integer)
If Y = 1 Then
For i = 1 To Len(X)
If Val(Mid(X, i, 1)) > 0 Or Mid(X, i, 1) = "0" Or Mid(X, i, 1) = "." Then
FLW = FLW & Mid(X, i, 1)
End If
Next i
ElseIf Y = 2 Then
For M = 1 To Len(X)
A = Application.WorksheetFunction.Substitute(X.Value, 0, "")
B = Application.WorksheetFunction.Substitute(A, 1, "")
C = Application.WorksheetFunction.Substitute(B, 2, "")
D = Application.WorksheetFunction.Substitute(C, 3, "")
E = Application.WorksheetFunction.Substitute(D, 4, "")
F = Application.WorksheetFunction.Substitute(E, 5, "")
G = Application.WorksheetFunction.Substitute(F, 6, "")
H = Application.WorksheetFunction.Substitute(G, 7, "")
i = Application.WorksheetFunction.Substitute(H, 8, "")
J = Application.WorksheetFunction.Substitute(i, 9, "")
Next M
FLW = J
End If
End Function 作者: andymark 时间: 2007-6-16 06:51
还需加一些ACCESS操控EXCEL的语句作者: wssf 时间: 2007-6-16 07:06
谢谢版主,请版主费心给改一改,在这个论坛上没有搜索到提取数据的帖子,只搜索到提取1-9数字的帖子(见下面),“≥0.25个百分点”提取成了25。
Function MyGet(Srg As String, Optional n As Integer = False)
Dim i As Integer
Dim s, MyString As String
Dim Bol As Boolean
For i = 1 To Len(Srg)
s = Mid(Srg, i, 1)
Bol = s Like "#"
If Bol Then MyString = MyString & s
Next
MyGet = IIf(n = 1 Or n = 2, MyString, Val(MyString))
Private Sub Command0_Click()
Call Separate("“≥1.38(25度)直至3.56” ", temp2)
Debug.Print temp2
End Sub
Sub Separate(MyNo As String, temp2)
Dim Temp1, B
MyRef = Trim(MyNo): Temp1 = temp2 = ""
For I = 1 To Len(MyRef)
B = Mid$(MyRef, I, 1)
Select Case B
'
Case "0", "1" To "9", "."
temp2 = temp2 & B
Case "(", "("
'
Exit Sub
Case Else
Temp1 = Temp1 & B
End Select
Next I
Public Function Separate(MyNo As String) As String
Dim Temp1, B
MyRef = Trim(MyNo): Temp1 = temp2 = ""
For I = 1 To Len(MyRef)
B = Mid$(MyRef, I, 1)
Select Case B
'
Case "0", "1" To "9", "."
temp2 = temp2 & B
Separate = temp2
Case "(", "("
'
Exit Function
Case Else
Temp1 = Temp1 & B
End Select
Next I