Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9826 / 13646 ツリー ←次へ | 前へ→

【25254】配列の連結 さむ 05/5/25(水) 13:40 質問[未読]
【25256】Re:配列の連結 ちゃっぴ 05/5/25(水) 13:52 発言[未読]
【25259】Re:配列の連結 G-Luck 05/5/25(水) 19:33 発言[未読]
【25261】Re:配列の連結 ちゃっぴ 05/5/25(水) 20:49 回答[未読]

【25254】配列の連結
質問  さむ  - 05/5/25(水) 13:40 -

引用なし
パスワード
   こんにちわ

二つのバイト配列を連結したいのですが?
EXCEL VBAでは配列の連結は可能なのでしょうか?
VBでArrayを使用しての連結ができるようなのですが、良く判りませんでした・・・

配列の連結ができなければ、現在の配列の前に新しく領域を確保する方法が
知りたいです。


a={6,7,8,9}   この配列に5を追加して
   ↓
 {5,6,7,8,9}  このような形にしたい

何か方法は無いでしょうか?

【25256】Re:配列の連結
発言  ちゃっぴ  - 05/5/25(水) 13:52 -

引用なし
パスワード
   >二つのバイト配列を連結したいのですが?
>a={6,7,8,9}   この配列に5を追加して
>   ↓
> {5,6,7,8,9}  このような形にしたい

既存の配列番号をすべて変更することになるので、
配列を使った場合、配列の作り直しになるでしょうね。

特定のIndex番号で挿入的なImageならCollectionが近いのかな?

【25259】Re:配列の連結
発言  G-Luck  - 05/5/25(水) 19:33 -

引用なし
パスワード
   さむさん ちゃっぴ さん
こんにちは

配列の中身が文字で、配列がVariantでもよいのであれば
下記のようなのはどうでしょうか?
配列の中身に使われていない文字で区切る必要がありますが。

Sub myArray()
  
  Dim A As Variant
  Dim B As Variant
  Dim C As Variant
  Const KUGIRIMOJI As String = " "
  
  A = Array(1, 2, 3, 4, 5)
  B = Array(6, 7, 8, 9, 10)
  
  C = Join(A, KUGIRIMOJI) & KUGIRIMOJI & Join(B, KUGIRIMOJI)
  Set B = Nothing
  B = Split(C, KUGIRIMOJI)
  
End Sub

【25261】Re:配列の連結
回答  ちゃっぴ  - 05/5/25(水) 20:49 -

引用なし
パスワード
   Byte配列が奇数Byteの時どうなるか?と思って試しましたが、
どうやらこれでいけそうですね。

Sub test1()
  Dim bytA(0) As Byte
  Dim bytB(3) As Byte
  Dim bytC() As Byte
  Dim i    As Long
  
  bytA(0) = 1
  'bytA(1) = 2
  bytB(0) = 3
  bytB(1) = 4
  bytB(2) = 5
  bytB(3) = 6
  
  bytC = CStr(bytA) & CStr(bytB)
  
  For i = LBound(bytC) To UBound(bytC)
    Debug.Print bytC(i)
  Next
End Sub

9826 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free