- ベストアンサー
マクロ 計算式
エクセルでマクロを使い、計算式をと結果を表示したいのですが、教えてください。 A1に 200 B1に 10 C1でA1*B1の結果を出し、且つ、結果に円という文字をつける場合のマクロの書き方をお願いします この状態では答えは 200×10 で 2000としか出ないのと、他のセルで実行させた場合でも、例えばA6に 200 B6に 10とした場合、 C6で答えが欲しいのです。 説明がへたくそですみません お解りの方、お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 シートのタブを右クリック、コードの表示で開いたら、以下を貼り付けます。 使い方は、C列をダブルクリックします。A列、B列に数字が入っていれば、同行の計算式と円が入ります。 片方のセルが空の状態でダブルクリックすると、数式も円も消えます。 一括で入れるなら、別のマクロになります。 '---------------------------------------------------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target.Column <> 3 Then Exit Sub 'C列 If (IsNumeric(Target.Offset(, -2)) And IsNumeric(Target.Offset(, -1))) And _ Not (IsEmpty(Target.Offset(, -2)) Or IsEmpty(Target.Offset(, -1))) Then Target.FormulaLocal = "=RC[-2]*RC[-1]" Target.NumberFormatLocal = "#,##0円" Else Target.Clear End If End Sub
その他の回答 (3)
- 山路 独(@j59fmk53jh)
- ベストアンサー率2% (2/83)
Range("C1").Value = Range("A1").Value * Range("B1").Value & "円" とか? C列のほうは、使うイベントが不明ですが、 Activecell.Rows.Row で列番号は出せます。どうですか?
お礼
ありがとうございます とりあえず、試してみます
- mt2008
- ベストアンサー率52% (885/1701)
質問が判りにくいですね。 C1に式と結果と単位(円)を表示したいと言う事でしょうか? 例:A1に「200」、B1に「10」と入っている場合、C1に「200×10=2000円」 通常この程度ではマクロは使いません。演算式を使います。 C1に以下の式を入れて見てください =A1&"×"&B1&"="&A1*B1&"円" C1をコピーしてC6に貼り付ければ、A5とB6を掛けた結果になります。
お礼
ありがとうございます 現在は、関数を使用していますが、Cの欄に、今までは”円”の計算だけだったのですが、その他の文字を入れることもあるようになり、関数では難しくなりました。
- kkaamm
- ベストアンサー率43% (45/103)
関数の方が簡単だと思います。 =CONCATENATE(A1*B1,"円") もしくは =YEN(A1*B1,0) あとはオートフィルで必要なところまでコピーをすれば使えます。
お礼
ありがとうございます 現在は、関数を使用していますが、Cの欄に、今までは”円”の計算だけだったのですが、その他の文字を入れることもあるようになり、関数では難しくなりました。
お礼
ありがとうございます うまくいきました