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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
VBA 配列に格納した値の平均のやり方についてお教え願います
Visual Basic(VBA)
-
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
-
4
配列の値を置換するにはどうすればいいでしょう?
Excel(エクセル)
-
5
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
6
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
7
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
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
14
VBAのWorksheetFunctionの引数に配列を使いたい
PowerPoint(パワーポイント)
-
15
配列をループでたくさん宣言したいのですが、配列名や変数名を変数で宣言することはできませんか?
Visual Basic(VBA)
-
16
UserForm1.Showでエラーになります。
工学
-
17
VBA 1次元配列を2次元に追加する
Visual Basic(VBA)
-
18
行列の積の計算プログラムを教えてください。
その他(プログラミング・Web制作)
-
19
初歩的な事だと思います。 Sub または Function が定義されていません。
Visual Basic(VBA)
-
20
EXCELのVBAでRange(A1:C4")を変数にする方法を教え"
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで配列の計算
-
EXCEL VBA で、0から?1から?
-
IF関数でEmpty値を設定する方法。
-
変数を動的に作るには?
-
VBで作った乱数を一度も重複さ...
-
複数のテキストボックスに同じ...
-
動的配列と固定長配列の違いに...
-
動的配列が存在(要素が有る)か...
-
C言語のread関数に関するファイ...
-
2次元配列の、黒いマス目で囲...
-
キーボード
-
Excel VBA 多段階配列の宣言の仕方
-
【MFC】GetCount()とGetSize()...
-
配列プロパティをREDIMする方法...
-
MicroSoft BasicのDim文とVisua...
-
配列をリサイズする
-
4次元配列を2次元配列にするには?
-
VB.net 引数で配列変数を渡す際...
-
配列にnullを代入すると、null...
-
ループ処理の際、最後だけ","を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
VBAで配列の計算
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
VB.net 引数で配列変数を渡す際...
-
動的配列が存在(要素が有る)か...
-
VBで作った乱数を一度も重複さ...
-
配列の要素数を超えた参照のコ...
-
複数のテキストボックスに同じ...
-
C言語 重複しない4ケタの乱数...
-
javaプログラムについて
-
C#の質問
-
Visual C++ でコントロールを...
-
遅延バインディングを使用でき...
-
Excel VBAで配列の途中から(X)M...
-
排列と配列の漢字の使い分けは
-
For文と配列
-
VBでbyte配列型のインスタンス...
-
C言語で3次元配列の課題をして...
おすすめ情報