multidimesion配列から2次元を抽出する関数が必要です。ユーザの選択に応じて2次元を抽出する。これらの2つの次元がユーザーによって選択された破棄された次元のインデックス。多次元配列からユーザ定義の寸法を抽出する
たとえば、3次元配列v(1〜100,1〜20,1〜10)があります。 iは、Vの次元1と次元3 extratたい。及びdiscared寸法2のインデックスは11
sub extract
dim i1 as integer 'for loop through dimension 1
dim i2 as integer 'for loop through dimension 3
dim d1 as integer 'index in dimension 2
d1=11
redim vn(1 to ubound(v,1),1 to ubound (v,3))
for i1 = 1 to ubound(v,1)
for i2= 1 to ubound(v,3)
vn(i1,i2)=v(i1,d1,i2)
next i2
next i1
end sub
ある私は必要がある大きさを知っていれば、アレイからの寸法を抽出し、インデックス(D1ができます)を破棄した寸法で示す。しかし、私はそれをユーザーに任せて決定する必要があります。私がしたいと、そのような関数である:
function extract(i1 as integer, i2 as intger, paramarray ov()) as variant
=エキス(the_first_dimension_to_keep、the_second_dimension_to_keep、[index_in_the_first_discard_dimension、index_in_the_second_discard_dimension、...])origional配列が3つの以上の次元を持つことができることを念頭に置いて
キーピング、コード内のすべての可能性をリストすることはできません。
[ポインタでデータ領域にアクセスして](http://stackoverflow.com/a/39146283/4088852)、手動でオフセットを計算することができます。 – Comintern
Comintern、私はあなたの返信をその投稿に見ます。メモリにアクセスするコードは私の現在のVBAスキルを超えています。私がその問題を解決する前に、私が学ぶのにはしばらく時間がかかります。 –