2
多次元配列をとり、範囲に配置しようとしています。しかし、範囲はスプリット(非連続)の範囲であり、私は.Cells
ではなく、標準.Range("A1")
を使用できるようにする必要があります。私の下のコードは多少は機能しますが、Unionの各範囲の配列の最初の2つのインスタンスにのみ配置されます。Excel VBA - 不連続な範囲への多次元配列(セルの集合を使用して作成)
以下を参照してください:
Dim TestArray(1 To 2, 1 To 3) As Integer
TestArray(1, 1) = 1
TestArray(2, 1) = 2
TestArray(1, 2) = 3
TestArray(2, 2) = 4
TestArray(1, 3) = 5
TestArray(2, 3) = 6
Union(Range(Cells(78, 1), Cells(79, 1)), Range(Cells(78, 4), Cells(79, 4)), _
Range(Cells(78, 6), Cells(79, 6))).Value = TestArray
次のように私の結果は次のとおりです。
A78=1
A79=2
D78=1
D79=2
F78=1
F79=2
私のような私の結果たい:
A78=1
A79=2
D78=3
D79=4
F78=5
F79=6
は、すべてのヘルプははるかに高く評価されるだろう!
これはどのように汎用性が必要ですか?試したように '='を使う直接的な方法はありませんので、おそらくヘルパー関数を書く必要があります。その機能の複雑さは、** 1 **のようなものに依存します**あなたは常に範囲が行/列の正しい数を持つことを保証できます** ** 2。**配列のサイズは常に同じですか** 3。**同じ行にあるセルは常にタッチしていますか?それはあなたの例と同じくらい簡単ですが、3行を別々に割り当てると(Domenicの答えのように) – Wolfie