숫자 만 남기고 입력 상자에서 모든 문자를 제거하려면 어떻게해야합니까?inputbox에서 모든 텍스트를 제거 하시겠습니까?
공백을 제거하고 13 자리로 줄이는 매크로가 있지만 텍스트 문자를 모두 제거해야합니다.
숫자 만 남기고 입력 상자에서 모든 문자를 제거하려면 어떻게해야합니까?inputbox에서 모든 텍스트를 제거 하시겠습니까?
공백을 제거하고 13 자리로 줄이는 매크로가 있지만 텍스트 문자를 모두 제거해야합니다.
나는 아직도 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
감사합니다. 나는 그걸 좀 더 들여다 보겠다. 지금은 그걸 작동시킬 수는 없지만. 다른 주제이기 때문에 나는 또 다른 질문을 할 것이다. –
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
바보 같이, 나는 실제로 관리 이 작업이 실제로는 잠시 뒤로 돌아 오게하려면, 내가 링크 한 것만 큼 복잡하지는 않습니다 (코드 한 줄로 작성한 것). 그러나 나는 내가 어떻게 그것을했는지를 기억할 수없고 다른 프로젝트를 찾을 수 없다. 그래서 링크에 감사하지만 이것이 대답이 아니므로 질문을 공개적으로 남겨 둘 수 있습니까? –