删除输入框中的所有文本?
答
我仍然认为regexp
是要走的路。
Function removeAlpha(strData As String) As String
strData = Replace(strData, " ", "")
With CreateObject("vbscript.regexp")
.Pattern = "[A-Za-z]"
.Global = True
removeAlpha = .Replace(strData, "")
End With
End Function
,并测试:
Sub TestClean()
Const strTest As String = "qwerty123 456 uiops"
MsgBox removeAlpha(strTest)
End Sub
+0
感谢您的支持。我会再看一看,虽然目前我无法实现它的工作。我会提出另一个问题,因为这是一个不同的话题。 –
答
的另一种方法,以使用regular expression
是:
Public Sub removeCharacters()
For Each RANGE_UNASSIGNED In Worksheets(1).Range("A1:A" & Worksheets(1).Range("A1").End(xlDown).Row)
STRING_OUTPUT = ""
For INTEGER_STEP = 1 To Len(RANGE_UNASSIGNED.Value)
STRING_TEMPORARY = Mid(RANGE_UNASSIGNED.Value, INTEGER_STEP, 1)
If STRING_TEMPORARY Like "[a-z.]" Or STRING_TEMPORARY Like "[A-Z.]" Then
STRING_xOUTPUT = ""
Else
STRING_xOUTPUT = STRING_TEMPORARY
End If
STRING_OUTPUT = STRING_OUTPUT & STRING_xOUTPUT
Next INTEGER_STEP
RANGE_UNASSIGNED.Value = STRING_OUTPUT
Next RANGE_UNASSIGNED
End Sub
这应该从小区(多个)中删除所有字母字符。如果需要,您可以删除其他字符。
答
基于IsNumeric的方法。
Sub Keep_If_IsNumeric()
For j = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Set c = Cells(j, 1)
strc = ""
For i = 1 To Len(c.Value)
n = Mid(c.Value, i, 1)
If Not IsNumeric(strc & n & "0") Then
Else
strc = strc & n
End If
Next
c.Offset(, 1) = strc
c.Offset(, 2) = Val(Replace(strc, ",", "."))
Next
End Sub
http://stackoverflow.com/questions/7384029/how-do-i-remove-the-characters – Nulled
愚蠢,因为这声音,其实我管理让它在一段时间内真正起作用,并且它不像你所链接的那样复杂(我在一行代码中做过)。但我现在不记得我是如何做到的,无法找到其他项目。所以,感谢您的链接,但您能否将问题留给我们,因为这不是答案。 –