[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セル内のカンマで区切った数値の取出し』(やっぱり初歩)
いつもお手数をお掛けします。 セルの中に文字列で [ 1,15,200,10,525,3000 ] と入力されています。 この内容を配列へ格納したいのです。何か良い方法は無いかと思い次の様な ものを書き始めた所でした。いろいろ問題が予想され頓挫し掛けています。 未だ配列を備えていませんが、何か良い方法は無いでしょうか?
Dim p&, p1&, p2&, Num&, At2nd As Boolean
With Range("A1")
For i = 1 To Len(.Value)
p = InStr(i, .Value, ",")
If p <> 0 Then
p1 = p + 1 '文字列の先頭位置
p2 = i - 1 ' 〃 の最後位置
If Not At2nd Then
Num = Left(.Value, p2)
At2nd = True
ElseIf i = Len(.Value) Then
Num = Mid(.Value, p1, p2)
End If
End If
Next
End With
こんな拙いもので済みません・・・
< 使用 Excel:Excel2010、使用 OS:Windows8 >
Splitを使えばいいのではないでしょうか。簡単に配列に格納できます。 (カリーニン) 2014/10/20(月) 08:57
サンプルコードです。
Sub test()
Dim sp As Variant
Dim mystr As String
mystr = Range("A1").Value
sp = Split(mystr, ",")
MsgBox mystr & vbCrLf & Join(sp, "/") & vbCrLf & Replace(mystr, ",", "_")
Range("B1").Resize(UBound(sp) + 1).Value = WorksheetFunction.Transpose(sp)
Erase sp
End Sub
(カリーニン) 2014/10/20(月) 09:10
どうも有り難うございました。 コードを書いている途中で、何か関数があるのではと思い調べようとしましたが・・・ ”やっぱり初歩”でした。簡単に出来ました。 (やっぱり初歩) 2014/10/20(月) 09:19
Dim x
x = Split(Trim$(Mid$([a1], 2, Len([a1]) - 2)), ",")
とか?
(seiya) 2014/10/20(月) 09:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.