プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

dim atai as variant
atai="1234567890"
という文字列があります。

これを

hairetu[0]=123
hairetu[1]=456
hairetu[2]=789
hairetu[3]=0

という風に、3文字単位で配列に格納したいのですが、どのように
VBAを作成すればよいでしょうか?

よろしくお願いいたします。

A 回答 (2件)

例えば、



Dim atai As Variant
Dim hairetu() As Variant
Dim hairetu_size, iIndex As Integer ' 配列のサイズ, インデックス

atai = "1234567890"
' 配列のサイズを、ataiの文字数÷3 + 1で計算
hairetu_size = Int(Len(atai) / 3 + 1)
' 配列の大きさを再設定
ReDim hairetu(hairetu_size)
' 0番から配列サイズ-1までループ
For iIndex = 0 To hairetu_size - 1
  ' 3文字ずつ抜き出し
  hairetu(iIndex) = Mid(atai, 1 + iIndex * 3, 3)
Next iIndex
    • good
    • 0
この回答へのお礼

いけました!!

ありがとうございます!!!

お礼日時:2017/07/03 12:56

>3文字単位で配列に格納したい


記憶違いかもしれませんが、UTF-8 の時に使うテクニックだったと思いますが。

Sub EnterArry()
Dim atai As Variant
Dim n As Long, i As Long, j As Long
Dim buf As String * 3  '固定長にする
Dim Ar() As Variant '配列 = Arry()
atai = "1234567890"
n = Len(atai) \ 3 - CInt((Len(atai) Mod 3) > 0)
ReDim Ar(n - 1)
For i = 1 To Len(atai) Step 3
 buf = Mid(atai, i, 3)
 Ar(j) = buf
 j = j + 1
Next
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!