プロが教える店舗&オフィスのセキュリティ対策術

マイクロソフトエクセルで例えばA1に数字がありA3に打ち込んだ数をA1に
次々に加減したいのですが、一回きりしかできません。まだ何もしりませんがVBAを
使ってでもしたいのです。どなたかわかる方お願いいたします。
エクセルは家で2010を、会社では2016を使っています。 ある数たとえば
A1に100が入っていてA3(同じ行であればA5でも何でもいい)に10を
打ち込んだらA1から10が引かれて90となり、またA3に5を打ち込んだらA1の
数が90から85になり次々と減算されていき、別のA6とかに200を打つと
A1が85から285へと加算されるように同じA1に加減を別のセルから
打ち込んで計算していきたいのです。VBAはこれから勉強しようと思って
おります。 長々と書きましたがお願いいたします。

質問者からの補足コメント

  • つらい・・・

    具体的に書きます。 A1にはもらった給料の残額で、A3にはA1の額から使用した額を打ち込みます。だから常に減算をします。 A5には新たにもらった給料を打ち込みます、するとA1には残額に
    あらたに追加された給料の合計額が表示されるようにしたいのです。できれば1行にまとめたいです。
     実はこれは単なる例であって私が使いたいのはポイントなのです。
    追加されたポイントをA5に打ち込み、それがA1に表示される、次に使用するポイントをA3に
    打ち込みすべてその計算結果をA1に表示したいのです。毎週数回の打ち込みをします。
    しかもそれはAの1行に一人分を、Bには別の人のポイント清算分を、同様に次々に下にC,D,E,.....
    と500人分くらいのポイント清算表を作りたいのです。アクセスでもいいのでしょうが私が
    わかるのはエクセルなので少ししか理解できていませんがよろしくお願いします。

      補足日時:2019/12/17 09:50

A 回答 (7件)

私が知っている限り昔から、横に列で A B C D …のようになり、縦に行で 1 2 3 4 …のようになっています。


つまり、C列は減算、E列は加算で良いのですね?

それでは以下はいかがでしょうか?書き込むところは今までと一緒です

Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
 Select Case Target.Column
  Case 3 ' C列
   Cells(Target.Row, 1).Value = Cells(Target.Row, 1).Value - Target.Value
   Target.ClearContents
  Case 5 ' E列
   Cells(Target.Row, 1).Value = Cells(Target.Row, 1).Value + Target.Value
   Target.ClearContents
 End Select
 Application.EnableEvents = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。 なにぶん未熟なので完璧に縦と横を逆に勘違いしておりました。
私は縦がA,B,C,・・・の行だと思い、 横を1,2,3、の列だと勘違いして質問していました。
でも作ろうとしているエクセルプログラムは縦にABC 横に1,2,3としていますので
質問を皆さんが勘違いして読んでおられるのだとしたら申し訳ありません。
では縦と横を逆にみたててこのプログラムを入れてみますね。
有難うございました。 重ねてお礼申し上げます。

お礼日時:2019/12/18 13:37

3行目は減算、5行目は加算、その他は対象外という事でよろしいですか?

    • good
    • 0
この回答へのお礼

私のエクセルの理解では、シートの盾にA,B,C....とありこれらを行と言って
います。そして横に列が1,2,3,4....となっていてA1は1行目の1列目で、
A3は1行目の3列目というふうに思って質問しています。
A5は1行目の右に5列目だと認識しております。 
浅い知恵で皆様を誤解させているのでは? と心配になり2つ目の補足を
したいのですが、昼間は苦労して補足をやっとの思いで書けましたが、
2度目の補足がどうすればいいのか説明を読んでも同じように表示されない
のでなかなかできなくて仕方なく、お礼の欄で失礼とは思いましたが質問に
対するお答えとして書きました。
こうして盾にABCと1行に1人づつポイント清算の表を500人分
(盾に500行分)作りたいのです、
必要なのはご質問の通りA1、A3、A5だけで他は住所とか電話番号とかの
データを書き込むだけです。 どうぞよろしくお願いいたします。

ご質問ありがとうございました。

お礼日時:2019/12/17 21:29

こういう1つのセルで電卓的なことをやりがる人が時々いますが


マクロを入れると(履歴を残さない限り)間違った時に訂正がき
かなくなるのと やっている内にどこまで入力したかが分からなく
なる可能性があるので 正直お勧めしません。

入力履歴を残して そこから減算するか 「=」を付けて1つのセル
に数式で表現した方がいいのでは?
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。 確かに楽になんでもPCでできないか
を考えているので、 できることとできないこととの区別が素人には
全くわからないので とんちんかんな質問をしているのかもしれません。
いずれにしても回答ありがとうございました。

お礼日時:2019/12/17 14:23

通常は減算だが、結果がマイナスになる時だけ加算のマクロです。


No.2 と同じ所へコピペして下さい。(判っているとは思いますが2つ同時にはダメです)

Private Sub Worksheet_Change(ByVal Target As Range)

 Application.EnableEvents = False
 If Target.Column = 1 Then
  If Target.Row <> 1 Then
   If Range("A1").Value < Target.Value Then
    Range("A1").Value = Range("A1").Value + Target.Value
   Else
    Range("A1").Value = Range("A1").Value - Target.Value
   End If
   Target.ClearContents
  End If
 End If
 Application.EnableEvents = True

End Sub

' No.1 に対する回答がないのでチンプンカンプンの回答かもしれませんがあしからず!
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。 これをどうやって使うのかも
全く理解できていない初心者なので頑張って使ってみようと勉強
します。 初めの質問に補足を足しましたので出来ればみていただけたら
幸いです。 いずれにしても ありがとうございました。
まだ教えて!Goo の利用の仕方がわからないので手探りで質問を
したり補足を足したりと奮闘中です。 お礼が遅くなりすみません。
ありがとうございました。 重ねてお礼申し上げます。

お礼日時:2019/12/17 14:29

No.2 の補足



「Target.ClearContents」は次の加減に備えて加減算する値をクリアしています。不要または仕様外ならば削除して下さい。
ただし削除すると2回続けて同じ数を加減算するとは一度クリアして再度同じ値を入れないといけなくなります。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。 まだ何もVBAのことが分かっていないので
勉強しようとVBAの本を探しているところです。 重ねてお礼申し上げます。
ありがとうございました。

お礼日時:2019/12/17 14:30

奇数行は減算、偶数行は加算のマクロです。



下図の赤枠で囲んだところをダブルクリックして開いた所に以下のコードをコピペして下さい。

Private Sub Worksheet_Change(ByVal Target As Range)

 Application.EnableEvents = False
 If Target.Column = 1 Then
  If Target.Row <> 1 Then
   If Target.Row Mod 2 = 0 Then
    Range("A1").Value = Range("A1").Value + Target.Value
   Else
    Range("A1").Value = Range("A1").Value - Target.Value
   End If
   Target.ClearContents
  End If
 End If
 Application.EnableEvents = True

End Sub
「エクセルで例えばA1にA3のセルに打ち込」の回答画像2
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。 教えてgoo! の使い方さえよくわかっていないので
手探りで質問を致しました。なのでお礼の仕方もお金がいるのか何か差し上げないといけない
のか全くわからないので困りました。せっかく回答いただいたプログラムもなんのことやら
さっぱりわかっていないのですが、 ゆっくりとさわってみて理解したいと思います。
どなたもベストアンサーにしたいのですがわからないのでもう少しだけ様子をみて
補足を足しておきました。いずれにしてもありがとうございました。重ねてお礼申し上げます。

お礼日時:2019/12/17 14:53

加算と減算は何によって決まるのですか?次のうちどれですか?


① 奇数行は減算、偶数行は加算
② 通常は減算だが、結果がマイナスになる時だけ加算
③ その他(具体的に説明して下さい)
    • good
    • 0
この回答へのお礼

加算と減算は何によって決まるのですかーー例えばA3のセルに入れた数は常にA1から
減算します。つまりA1-A3です。A5のセルに入れた数は常に加算します。つまり
A1+A5 です。 補足で書き足しましたのでみていただけたら幸いです。
早速の回答をありがとうございました。 いろいろと回答をいただきましたが
どういう結果になるのか使い方もあまりよくわかっていないので大変です。
重ねてお礼申し上げます。ありがとうございました。

お礼日時:2019/12/17 14:43

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