- ベストアンサー
Excelで”A=A+1”のような式を書きたい
例えば ”A1”のセルに”A1+B2”の式を入れたいのです。”A1=A1+B2” マクロは少しできますが、この様な式は関数も見あたらないので visual basicで書かなければいけないのでしょうか その場合はどの様にすれば書けるのでしょうか ツール→マクロ→visual basic editorで 黒いページしか出てきません。
- みんなの回答 (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 ではないけれど、これで良いのでしょうか?
その他の回答 (4)
- kamejiro
- ベストアンサー率28% (136/479)
#3です。 >”A1”にデータ数値を入れてENTERを押した時点で >計算結果を出せないでしょうか 自身、そこまでスキルがないので分かりません。 ENTERでなく、マクロをボタン化して、A1のセルに数を入れた後にボタンをクリックするとマクロが動作するのなら出来ますが…。 その場合なら、作図でボタンを作り、そのボタンを右クリックで、「マクロの登録」でボタンとマクロを関連付けをすると出来ますが…。
お礼
いやー!有り難う 御座います 回答の通りですね ボタンを作っておいて、マクロを実行する方法ですね この方法でいきます。
- kamejiro
- ベストアンサー率28% (136/479)
A1のセルに=A1+B2の式を入れると、循環参照となり、エラーになります。 VBAなら、 Sub Macro1() Range("A1") = Range("A1") + Range("B2") End Sub ってことですか?。 ツール→マクロ→マクロ 適当にマクロ名を決めて→作成 ここで、上記の Range("A1") = Range("A1") + Range("B2") と入れるってことで良いのでしょうか?。
お礼
有り難う 御座います 出来ました これはマクロを実行しなければ結果が出ないですが ”A1”にデータ数値を入れてENTERを押した時点で 計算結果を出せないでしょうか 更なるご指導願えれば、有り難いです
- kabilunlun
- ベストアンサー率34% (155/446)
普通にやると循環参照のエラーが出るかも知れませんが、「反復計算」の回数を設定することで回避できるようですね。 ただ、A1には計算式を入れているので初期値はゼロにしかならないと思いますが。 http://www.geocities.jp/kuma_pooh1958/jyunkan/ref001.htm
- kkaawwaachon
- ベストアンサー率29% (265/896)
A1のセルに =a1+b2
お礼
やったぁ! ありがとう! これで いいんです。これで いいんです。 問題解決です