
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>C=A+Bみたいな記述はできるのでしょうか?
実際、どのような計算がなさりたいかわかりませんが、配列=Rangeオブジェクト と考えれば、「C=A+B」のような記述ができます。
「C=A+B」が成立するためには基本的な演算では各要素数が一致する必要があります。そうすると、行列機能が利用できます。
添付図では、
B2:C3 に範囲名「matA」を
E2:F3 に範囲名「matB」を付けています。
(質問のように「A」とか「B」でもいいですが、短い名前は怖いのでこんな名前にしました)
添付図の一番下はシート上で配列数式を使い「3×3」のセル範囲の加算をしています。Sumproduct関数も同じような性質の関数になります。配列数式はシート上では結構使いにくいんですが、VBAでは配列という感覚で逆に使いやすくなります。(私見です)
ワークシート関数にMMult、Transpose、MDeterm、MInverse関数などがあるのでこれをVBA側で使えます。また、「FormulaArrayプロパティ」も使えます。
シートのコードウィンドウで実行しました。出力範囲を選択して実行します。
「Range("matA")」などを変数に代入すればそれらしく(質問のC=A+B)見えますが、そのままにしています。
ご参考に。当方Excel2010です。
'和
Sub matPlus()
Selection.FormulaArray = "=matA+matB"
End Sub
'積
Sub matMult()
Selection = Application.MMult(Range("matA"), Range("matB"))
End Sub
'転置行列
Sub Trns()
Selection = Application.Transpose(Range("matA"))
End Sub
'行列式
Sub matVal()
Selection = Application.MDeterm(Range("matA"))
End Sub
'逆行列
Sub matInv()
Selection = Application.MInverse(Range("matA"))
End Sub

No.2
- 回答日時:
あまりにも素っ気なかったので参考サイト。
Excel(エクセル) VBA入門:配列の利用
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
でお勉強を。
No.1
- 回答日時:
a = array(1,2,3)
b = array(10,20,30)
c = a(0) + b(0)
debug.print c
で 10 が返り
c= c * b(2)
debug.Print c
で 300 が返ります。
というようなこと?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
確定申告しなかった・無申告の人をどうやって見つけるのか元国税調査官に聞いてみた
無申告の方などを対象に税務調査を行う国税局の元税務調査官さんに、どう無申告を探すのか聞いてきました。
-
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
VBA 配列に格納した値の平均のやり方についてお教え願います
Visual Basic(VBA)
-
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
4
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
5
配列で格納したものをmsgboxで表示する方法について
Access(アクセス)
-
6
配列の値を置換するにはどうすればいいでしょう?
Excel(エクセル)
-
7
VBA 1次元配列を2次元に追加する
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
VBAで文字列を数値に変換したい
Excel(エクセル)
-
10
VBAのワークシート関数で配列の合計を求めたい
Visual Basic(VBA)
-
11
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
12
EXCEL VBA Dictionaryで複数の値を格納→離れた位置に出力する方法
Excel(エクセル)
-
13
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
14
配列の中の最大値とそのインデックス番号を取得する方法
Visual Basic(VBA)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
17
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
18
配列でデータが入っている要素を求める方法
Visual Basic(VBA)
-
19
VBA:日付を配列に入れ別セルに転記するとデータ型が変わる
Visual Basic(VBA)
-
20
'Range'メソッドは失敗しました
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
変数を動的に作るには?
-
5
配列の要素数を超えた参照のコ...
-
6
マージソートについて
-
7
IF関数でEmpty値を設定する方法。
-
8
int型配列の一括初期化
-
9
VB.net 引数で配列変数を渡す際...
-
10
複数のテキストボックスに同じ...
-
11
コンストラクタで配列を指定す...
-
12
ジャグ配列とは
-
13
EXCEL VBA で、0から?1から?
-
14
C言語
-
15
エクセル 配列の論理演算?
-
16
キーボードのQWERTY配列の本当...
-
17
動的配列が存在(要素が有る)か...
-
18
VBで作った乱数を一度も重複さ...
-
19
C言語 重複しない4ケタの乱数...
-
20
VBA 配列数式的に一括してR...
おすすめ情報
公式facebook
公式twitter