- ベストアンサー
マクロに関する質問です
マクロに関する質問です。 やりたいことは「ある2つのセルに入っている数値の和を所定のセルに表示する」というものです。 ただし「ある2つのセル」が特定のセルではないため、その都度指定する必要があります。 いま自分の実力でできる方法としては、INPUTBOXを使って「ある2つのセル」の行番号、列番号をそれぞれ入力してセルの値を拾って計算するということくらいです。 まあこれでもいいと言えばいいのですが、そのセルの行番号、列番号をいちいち覚えておかないといけないのでイマイチです。 そこで、こんなことができるといいなと思ってます。 「画面上に表示されたそのセルをマウスでクリックすることによって指定すること」です。 いかがでしょうか。 さらに欲を言えば、答を表示するセルに「2つのセルの合計を計算せよ」という「計算式」を入れたいのです(答を単に数値で表示するのではなく)。さらにさらにその数式において、セルの「絶対指定」、「相対指定」の使い分けもできるとものすごくありがたいです。 非常に欲深くて恐縮です。少しでも結構です。ヒントをください。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
基本部分のみ(絶対参照)です。 セルの指定は通常のエクセル操作と同様に複数セルの指定が可能なので、値の選択は1回だけでも構いません。 Dim inA As Variant Dim inB As Variant Dim out As Variant Set inA = Application.InputBox("値選択1", Type:=8) Set inB = Application.InputBox("値選択2", Type:=8) Set out = Application.InputBox("集計セル選択", Type:=8) out.Formula = "=Sum(" & inA.Address & "," & inB.Address & ")"
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
Sub test01() x = Application.InputBox("a=", Type:=8) y = Application.InputBox("b=", Type:=8) Range("c3") = x + y End Sub 所定のセルはC3に仮定。
お礼
早速のご回答ありがとうございました。 基本的にはNo.1さんのご回答と同じですね。具体的に書いて頂きましてありがとうございました。
- yokomaya
- ベストアンサー率40% (147/366)
ヒントです。通常EXCELで二つのセルを選択するには第一のセルをクリックして選択した後に、二番目のセルをCTRLキーを押しながらクリックします。その状態でSelection.addressにはその二つのセルが絶対参照、カンマ区切りで入っています。それを加工して式にしては如何でしょうか? 勿論$を取り去ればすぐに相対参照に変わりますから。
お礼
早速のご回答ありがとうございました。 せっかく頂いたヒントですが、私には応用できないようです。 申し訳ありません。 ありがとうございました。
- n-jun
- ベストアンサー率33% (959/2873)
「画面上に表示されたそのセルをマウスでクリックすることによって指定すること」です。 この点についての参考になるかも知れないURL ■数値を入力するダイアログボックス InputBox関数とInputBoxメソッドの相違点 http://www.moug.net/skillup/nksw/nksw06-01.htm 質問文にあるのはInputBox関数だと思いますが、InputBoxメソッドを 見て下さい。
お礼
早速のご回答ありがとうございました。 これです。これがやりたかったのです。 ありがとうございました。
お礼
ありがとうございます。 最後の一文は「絶対参照の式」を集計セルに与えるものですね! 感動です。ありがとうございました。