2017-12-19 33 views
0

私は、行と列の両方の次元で範囲を取ることができる可変サイズの2D配列を持っています。私は配列からExcelの範囲にデータを書き込むとき、私は、現在のコード行を使用しています:配列からセルに書き込むときに範囲を指定する必要はありますか?

dataArr私はExcelの範囲に記述する必要が私の配列です
Wksht.Range("A1:I2019").Value = dataArr 

配列の任意のサイズを受け入れるように範囲(A1:I2019)変数を保持したいと思います。これを回避する効率的な方法はありますか?私は配列の行と列を数えながらいくつかの型の文字列ビルダーやstring.concat関数を使うことを考えていましたが、もっと良い方法が必要だと感じています。

答えて

2

はい。

簡単な方法は、.Resize

Wksht.Range("A1").Resize(ubound(dataarr,1),ubound(dataarr,2)).Value = dataArr 

つノートにある:

上記ベース1配列に対して特異的です。 0の配列の場合は、両方ともubound()への+ 1です。

あなたの配列は0または1、共通だが前代未聞のではないではない、または、あなたは、あなたがこれを使用することができ、わからない場合は、他の何かで始まる場合:

Wksht.Range("A1").Resize(ubound(dataarr,1)-Lbound(dataarr,1)+1,ubound(dataarr,2)-Lbound(dataarr,2)+1,).Value = dataArr 
+0

はあなたにスコットをありがとう!これは完全に機能します。あなたの行を見ると、配列サイズの上限を使用するのが理にかなっています。再度、感謝します! –