街中で見かけて「グッときた人」の思い出

例えば ”A1”のセルに”A1+B2”の式を入れたいのです。”A1=A1+B2”
マクロは少しできますが、この様な式は関数も見あたらないので
visual basicで書かなければいけないのでしょうか
その場合はどの様にすれば書けるのでしょうか
ツール→マクロ→visual basic editorで
黒いページしか出てきません。

A 回答 (5件)

こんばんは。



>”A1”にデータ数値を入れてENTERを押した時点で
>計算結果を出せないでしょうか

ワークシートのシートタブを右クリック-コードの表示をクリックで、
画面が変わったら貼り付けます。終わったら、Alt +Q で画面を閉じます。

'シートモジュール
Private Sub Worksheet_Change(ByVal Target As Range)
'A1のセルでなかったら除外
If Target.Address(0, 0) <> "A1" Then Exit Sub
'数値でなかったら除外
If VarType(Target) <> vbDouble Then Exit Sub

 Application.EnableEvents = False
 Range("A1").Value = Target.Value + Range("B2").Value
 Application.EnableEvents = True

End Sub


上記は、単に、A1 + B2 を足しているだけであって、

A1 = A1に入力した値 + 前のA1 + B2

ではないけれど、これで良いのでしょうか?
    • good
    • 0
この回答へのお礼

やったぁ!
ありがとう!
これで いいんです。これで いいんです。
問題解決です

お礼日時:2006/09/20 01:05

#3です。



>”A1”にデータ数値を入れてENTERを押した時点で
>計算結果を出せないでしょうか

 自身、そこまでスキルがないので分かりません。

 ENTERでなく、マクロをボタン化して、A1のセルに数を入れた後にボタンをクリックするとマクロが動作するのなら出来ますが…。
 その場合なら、作図でボタンを作り、そのボタンを右クリックで、「マクロの登録」でボタンとマクロを関連付けをすると出来ますが…。
    • good
    • 0
この回答へのお礼

いやー!有り難う 御座います
回答の通りですね
ボタンを作っておいて、マクロを実行する方法ですね
この方法でいきます。

お礼日時:2006/09/20 00:02

A1のセルに=A1+B2の式を入れると、循環参照となり、エラーになります。



VBAなら、

Sub Macro1()
  Range("A1") = Range("A1") + Range("B2")
End Sub

ってことですか?。

ツール→マクロ→マクロ 適当にマクロ名を決めて→作成
ここで、上記の

Range("A1") = Range("A1") + Range("B2")

と入れるってことで良いのでしょうか?。
    • good
    • 0
この回答へのお礼

有り難う 御座います
出来ました
これはマクロを実行しなければ結果が出ないですが
”A1”にデータ数値を入れてENTERを押した時点で
計算結果を出せないでしょうか
更なるご指導願えれば、有り難いです

お礼日時:2006/09/19 23:22

普通にやると循環参照のエラーが出るかも知れませんが、「反復計算」の回数を設定することで回避できるようですね。


ただ、A1には計算式を入れているので初期値はゼロにしかならないと思いますが。
http://www.geocities.jp/kuma_pooh1958/jyunkan/re …
    • good
    • 0

A1のセルに


=a1+b2
    • good
    • 0

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