Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Byte配列を2バイトごとに処理

Byte配列を2バイトごとに処理

Byte配列を2バイトごとに処理

「vba バイト配列を2バイト毎に処理」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

「vb バイト配列 1文字づつ」
という検索キーワードも、同じようなことを探していらしたのではないかと推測しています。

[スポンサードリンク]

Byte配列を2バイトごとに処理するサンプルマクロ

以下のSubプロシージャが参考になるのではないでしょうか。

Sub Byte配列を2バイトごとに処理()
 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(0) = arr_org(i)
  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
の部分が参考になるのではないでしょうか。

ローカルウィンドウでByte配列の中身などを確認しながら、

Byte配列を2バイトごとに処理

ステップ実行してみてください。
ちなみに上図は、For~Nextループの1回目が終わって、2回目に入ったばかりの状態です。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Byte配列を2バイトごとに処理

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.