• ベストアンサー

Excelで”A=A+1”のような式を書きたい

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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 ではないけれど、これで良いのでしょうか?

kitakita-2
質問者

お礼

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

その他の回答 (4)

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.4

#3です。 >”A1”にデータ数値を入れてENTERを押した時点で >計算結果を出せないでしょうか  自身、そこまでスキルがないので分かりません。  ENTERでなく、マクロをボタン化して、A1のセルに数を入れた後にボタンをクリックするとマクロが動作するのなら出来ますが…。  その場合なら、作図でボタンを作り、そのボタンを右クリックで、「マクロの登録」でボタンとマクロを関連付けをすると出来ますが…。

kitakita-2
質問者

お礼

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

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.3

A1のセルに=A1+B2の式を入れると、循環参照となり、エラーになります。 VBAなら、 Sub Macro1()   Range("A1") = Range("A1") + Range("B2") End Sub ってことですか?。 ツール→マクロ→マクロ 適当にマクロ名を決めて→作成 ここで、上記の Range("A1") = Range("A1") + Range("B2") と入れるってことで良いのでしょうか?。

kitakita-2
質問者

お礼

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

回答No.2

普通にやると循環参照のエラーが出るかも知れませんが、「反復計算」の回数を設定することで回避できるようですね。 ただ、A1には計算式を入れているので初期値はゼロにしかならないと思いますが。 http://www.geocities.jp/kuma_pooh1958/jyunkan/ref001.htm

回答No.1

A1のセルに =a1+b2

関連するQ&A

  • エクセル関数式を教えてください。

    エクセル関数式を教えてほしいのですが、 あるセル値Aが100未満の場合は、セルを空白(表示なし)に設定し あるセル値Aが100以上の場合は、他のセルB値の数値を表示させる。 初心者で関数式がわかりません、誰か教えてください。 お願いします。

  • エクセルで論理式が真の場合、セルの結合

    マクロではなくセル内の論理式でもし真の場合、このセルとこのセルを結合という関数、またはやり方を探しています。 =IF($A$1="A",($B$1と$C$1を結合)) といった感じです。 よろしくお願いします。

  • エクセル関数でおしえてください

    Aのセルに「する」「しない」のどちらかを入力するとして、 「する」と入力すると、Bのセルに「○」、 「しない」と入力するとCのせるに「○」、 と言う風に、表示する文字は「○」で同じでも、表示させるセルを変えたい場合、どの関数式をかいたらいいのか教えてください。 マクロはできれば使いたくないので、関数でお願いいたします。

  • エクセル関数について

    セルA24~A150の数値が隣同士のB24~B150の数値と比べてBのセルの値が大きい場合はBのセルを赤色に、小さければ黒色になるような関数式ができるでしょうか?ただしBのセルには数式が入っています。(Bのセルの数式=AVERAGE($A1:$A24)+STDEVP(A1:A24)*3) 出来るなら入力式を教えてください。簡単なマクロでもかまいません。

  • Excel 関数

    マクロを使わずに関数でこんな式を入れられないでしょうか。 考え方を少し変えれば出来そうな気もするのですが。 A1、A2・・A4と仮に四つのセルがある。 この何れかに数字が一つ入った時、例えばA1に10が入ったとき、 B1セルに=A1、B2セルに=B1/2 A2セルに10が入ったとき(A1はブランク又は0) B1セルに=A2/2、B2セルに=A2 と言うようなどこかのセルに入った数値によって、 返す式を変更できる様な計算式となるのですが。 よろしくお願いします。

  • 【エクセル】この場合の模範式を教えてください。

    いつもお世話になってます。 エクセル2003について、以下の条件を満たす関数式を教えてください。 ・A1にB1のセルの値を表示させます。 ・ただし、B1のセルが空白だった場合はエラーでなく同じく空白をA1に表示させます。 ・また、B1のセルが「夏」という文字だった場合のみC1の値をA1に表示させます。 A1にはどのような式を使えばいいでしょうか?。 よろしくお願いします。

  • CLEAN関数マクロ記述式!

    エクセルで、(例えば)A列のセル内改行されたデータを「CLEAN関数」でB列に表示させたい時、A列に入っている分のデータだけを隣のB列に表示させる場合のマクロの記述式を教えて下さい。セルA1「あああ 改行 いいい」→B1「あああいいい」、セルA2「ううう 改行 えええ」→B2「うううえええ」、セルA3「データなし」→B3「表示なし」  イメージご理解して頂けたでしょうか?要するにA列に入ってるセルのデータのみをCLEAN関数でB列に表示させ、A列に入ってない場合はCLEAN関数を適用しない場合の記述式です。どうか宜しくお願いします。

  • エクセルの式

    エクセルでAのセルに入力されたものをBに自動的に入力されるようにするには,Bのセルに =A と入れても =+A といれてもできるのですが,+をつけた場合とつけない場合の違いを教えてください。 また,この関数の種類は何になるのでしょうか。 

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • エクセルの式で困っています。

    エクセルの初心者に等しいです。教えて下さい。 例えばA1のセルに(パイン)とあったら、B1のセルの金額を見て10万以下なら500円、10万~20万なら1500円、20万~30万なら3000円、A1のセルが(桃)とあったら、B1のセルの金額を見て10万以下なら1000円、10万~20万なら2000円、20万~30万なら4000円 といった式を入れたいのですが、IFではややこし過ぎて頭が回りません。 関数等でうまくやる方法あれば教えて下さい。 お手数をおかけしますが宜しくお願いします。

専門家に質問してみよう