プロが教えるわが家の防犯対策術!

エクセルでマクロを使い、計算式をと結果を表示したいのですが、教えてください。

A1に 200   B1に 10  C1でA1*B1の結果を出し、且つ、結果に円という文字をつける場合のマクロの書き方をお願いします


この状態では答えは 200×10 で 2000としか出ないのと、他のセルで実行させた場合でも、例えばA6に 200   B6に 10とした場合、 C6で答えが欲しいのです。


説明がへたくそですみません
お解りの方、お願いします。

A 回答 (4件)

関数の方が簡単だと思います。


=CONCATENATE(A1*B1,"円")
もしくは
=YEN(A1*B1,0)
あとはオートフィルで必要なところまでコピーをすれば使えます。
    • good
    • 0
この回答へのお礼

ありがとうございます

現在は、関数を使用していますが、Cの欄に、今までは”円”の計算だけだったのですが、その他の文字を入れることもあるようになり、関数では難しくなりました。

お礼日時:2009/05/27 17:17

質問が判りにくいですね。


C1に式と結果と単位(円)を表示したいと言う事でしょうか?
例:A1に「200」、B1に「10」と入っている場合、C1に「200×10=2000円」 

通常この程度ではマクロは使いません。演算式を使います。
C1に以下の式を入れて見てください
=A1&"×"&B1&"="&A1*B1&"円"

C1をコピーしてC6に貼り付ければ、A5とB6を掛けた結果になります。
    • good
    • 0
この回答へのお礼

ありがとうございます

現在は、関数を使用していますが、Cの欄に、今までは”円”の計算だけだったのですが、その他の文字を入れることもあるようになり、関数では難しくなりました。

お礼日時:2009/05/27 17:17

Range("C1").Value = Range("A1").Value * Range("B1").Value & "円"


とか?
C列のほうは、使うイベントが不明ですが、
Activecell.Rows.Row で列番号は出せます。どうですか?
    • good
    • 0
この回答へのお礼

ありがとうございます
とりあえず、試してみます

お礼日時:2009/05/27 17:13

こんばんは。



シートのタブを右クリック、コードの表示で開いたら、以下を貼り付けます。

使い方は、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
    • good
    • 0
この回答へのお礼

ありがとうございます
うまくいきました

お礼日時:2009/05/27 21:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!