「vba バイト配列を2バイト毎に処理」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
「vb バイト配列 1文字づつ」
という検索キーワードも、同じようなことを探していらしたのではないかと推測しています。
Byte配列を2バイトごとに処理するサンプルマクロ
以下のSubプロシージャが参考になるのではないでしょうか。
Const ORG = "イロハ"
Dim arr_org() As Byte
Dim arr_ret(0 To 1) As Byte
Dim ret As String
Dim i As Long
arr_org = ORG
For i = 0 To (UBound(arr_org) - 1) Step 2
MsgBox arr_org(i) & " " & arr_org(i + 1)
arr_ret(1) = arr_org(i + 1)
ret = arr_ret
MsgBox ret
Next i
End Sub
上記のマクロを実行すると、Byte配列・arr_org()の2バイトごとの中身と、その2バイトが表す文字が、メッセージボックスへ順に表示されます。
サンプルマクロの解説
「vba バイト配列を2バイト毎に処理」
ということなので、
For i = 0 To UBound(arr_org) - 1 Step 2
と、For~Nextループを「Step 2」で回して、最終値を「UBound(arr_org) - 1」としています。
「vb バイト配列 1文字づつ」
という検索をなさった方には、ループ内の、
arr_ret(0) = arr_org(i)
arr_ret(1) = arr_org(i + 1)
ret = arr_ret
の部分が参考になるのではないでしょうか。
ステップ実行してみてください。
ちなみに上図は、For~Nextループの1回目が終わって、2回目に入ったばかりの状態です。
- Newer:PowerPoint VBAでグラフだけを選択する
- Older:VBAで複数行を選択する
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Byte配列を2バイトごとに処理