半角数字だけを抜き出してつなげたい | |
---|---|
[196325] 半角数字だけを抜き出してつなげたい- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ ヤマモト テツヤ -(2024/11/19(22:06)) □U R L/ abc123defgh4jk567mn8 というような、最大30桁の文字列に入っている位置も桁数も決まってない半角数字を抜き出し、 123,4,567,8 のような文字列を作成したいのです。 xcel2003しか持っていません。 宜しくお願いします。 ++++++++++++++++++++ OS ⇒OTHER Version⇒Excel 2003 ++++++++++++++++++++ |
[196326] Re[1]: 半角数字だけを抜き出してつなげたい- ■記事引用/メール受信=OFF■ □投稿者/ ふぇふぇ -(2024/11/20(00:12)) □U R L/ たぶん Dim st As String, stc As Long, i As Long, ans As String st = "abc123de0fgh4jk567mn8" stc = Len(st) For i = 1 To stc If StrConv(Mid(st, i, 1), vbNarrow) = Mid(st, i, 1) = True Then If Mid(st, i, 1) <= 9 Then ans = ans & Mid(st, i, 1) End If End If Next MsgBox ans この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196328] Re[2]: 半角数字だけを抜き出してつなげたい- ■記事引用/メール受信=OFF■ □投稿者/ ふぇふぇ -(2024/11/20(11:00)) □U R L/ 修正 Dim st As String, stc As Long, i As Long, ans As String st = "abc123de0fgh4jk56p78" stc = Len(st) For i = 1 To stc If StrConv(Mid(st, i, 1), vbNarrow) = Mid(st, i, 1) = True Then If Mid(st, i, 1) <= 9 Then ans = ans & Mid(st, i, 1) If IsNumeric(Mid(st, i + 1, 1)) = False Then ans = ans & "," End If End If End If Next MsgBox Left(ans, Len(ans) - 1) この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[196329] Re[3]: 半角数字だけを抜き出してつなげたい- ■ / 記事引用/メール受信=OFF■ □投稿者/ ヤマモト テツヤ -(2024/11/20(11:04)) □U R L/ ありがとうございました。 出来ました。 勉強します。 |
このトピックに書きこむ |
---|