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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excel vbaの配列なんですが・・・ 1 2022/12/26 18:50
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Visual Basic(VBA) VBAで列の再表示設定 1 2023/04/25 10:19
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) Vba 配列の中の特定文字列の位置の調べ方 9 2022/05/23 17:46
- Microsoft ASP プログラミング関係で質問です。 3 2022/10/11 16:06
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
VBA 配列に格納した値の平均のやり方についてお教え願います
Visual Basic(VBA)
-
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
-
4
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
5
配列の値を置換するにはどうすればいいでしょう?
Excel(エクセル)
-
6
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
7
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
エクセルでエラーが出て困っています。
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
配列をループでたくさん宣言したいのですが、配列名や変数名を変数で宣言することはできませんか?
Visual Basic(VBA)
-
14
VBAのWorksheetFunctionの引数に配列を使いたい
PowerPoint(パワーポイント)
-
15
配列同士の足し算のループ処理
PHP
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
UserForm1.Showでエラーになります。
工学
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
初歩的な事だと思います。 Sub または Function が定義されていません。
Visual Basic(VBA)
-
20
行列の積の計算プログラムを教えてください。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
EXCEL VBA で、0から?1から?
-
VBAで配列の計算
-
変数を動的に作るには?
-
配列の要素数を超えた参照のコ...
-
パソコンキーボードで時分秒を...
-
javaプログラムについて
-
排列と配列の漢字の使い分けは
-
複数のテキストボックスに同じ...
-
C言語 重複しない4ケタの乱数...
-
コントロールが配列かどうかを...
-
For文と配列
-
遅延バインディングを使用でき...
-
空き番号探し
-
ランダムに並んでるキーボード...
-
五目並べのプログラムを配列と...
-
VB.net 引数で配列変数を渡す際...
-
ジャバスクリプトについて。
-
ボタンの複数割り当てについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
IF関数でEmpty値を設定する方法。
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
動的配列が存在(要素が有る)か...
-
VB.net 引数で配列変数を渡す際...
-
遅延バインディングを使用でき...
-
VBで作った乱数を一度も重複さ...
-
複数のテキストボックスに同じ...
-
配列の要素数を超えた参照のコ...
-
C言語 重複しない4ケタの乱数...
-
For文と配列
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
Excel VBAで配列の途中から(X)M...
-
マップチップの当たり判定の出し方
-
ジャグ配列とは
-
五目並べのプログラムを配列と...
-
10進数を4桁のバイト配列に格納...
おすすめ情報