数値だけを残して、inputboxからすべての文字を削除するにはどうすればよいですか?inputboxからすべてのテキストを削除しますか?
空白を削除して、13桁に短縮するマクロがありますが、テキスト文字を削除する必要もあります。
regular expression
数値だけを残して、inputboxからすべての文字を削除するにはどうすればよいですか?inputboxからすべてのテキストを削除しますか?
空白を削除して、13桁に短縮するマクロがありますが、テキスト文字を削除する必要もあります。
regular expression
私はまだ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
ありがとうございます。私はそれをもう少し見ていくつもりですが、現時点では私はそれを働かせることはできません。それは別の話題なので、別の質問をします。 –
を使用する別の方法は、次のとおり
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
、私は実際に管理これを実際にはちょっと戻って動作させるには、あなたがリンクしているものほど複雑ではありませんでした(私は1行のコードで行いました)。しかし、私はどのようにそれをやったのかを覚えていないので、他のプロジェクトを見つけることができません。リンクに感謝しますが、これは答えではないので、質問を開いたままにしておくことができます。 –