人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBAについて質問です。すごく簡単なのですが、意外に調べても分からなかったので教えて下さい。

プロシージャで引数とした変数を変化させるにはどうしたら良いでしょう?
以下の例で、3をセルに書き込みたい場合などです。

sub Test(a as Long, b as Long)
a = 1
b = 2
end Sub

sub Main()
Dim maina as Long
Dim mainb as Long
Test maina, mainb
SelectedCell.value = maina + mainb
end Sub

よろしくお願いします。

●質問者: ReoReo7
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:as sub Sub Main test VBA
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

VBAというのは ExcelVBA のことですね。

でしたら、たとえば [Sheet1] の C5 セルに maina + mainb を代入したいのであれば

Sheets("Sheet1").Select
Range("C5").Select
ActiveCell.Value = maina + mainb

のように書きます。

◎質問者からの返答

ありがとうございます!


2 ● SALINGER
●27ポイント ベストアンサー

VBAのプロシージャは通常参照渡しになるので、やりたいことはあってますが、

SelectedCell→ActiveCell

と変えてみてください。

◎質問者からの返答

了解しました。


3 ● きゃづみぃ
●26ポイント

SelectedCell.value = maina + mainb

ではなくて

ActiveCell.Value = maina + mainb

にしたらいいでしょう。

◎質問者からの返答

おかげでうまくできました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ