重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

教えて下さい。

D欄での計算結果をCに表示したいのです。
但し、C欄にはオペレータが直接入力(例C3)する場合もあります。

   A  B  C   D
1 数料 単価  金額  --
2 19 200 3800 
3 -- --  5999

Cxに「=Dx」の式を入れると、直接入力すると式が消えるので
ちょっと不具合があります。(xは行)
VBAではなく関数で出来るものでしょうか?

A 回答 (5件)

質問の件はVBAでやるしかないのですが、老婆心ながら一言。



VBAでやると、
数量、単価を全部入力した後でなくても
数量、単価を入力した時点で金額の計算等できます。
(当然ながら、C,D列の計算式は不要になる)

このようにVBAなら色んなことができますので
一度、トライしてみたらどうでしょう。
以上です。
 
    • good
    • 0

同じセルに関数(式)と値を入れる事はできません。


ご要望の事は、VBAを使って自動記入するしかないでしょう。
    • good
    • 0

No2です。


ちなみにVBAであっても、2行目の数量と単価を入れて金額は入れない、3行目には金額だけ入れるという風にやって全部終わった後にマクロを実行して金額を計算させるという形になります。
つまり、2行目を入れたときすぐには金額は自動計算されません。
あくまでマクロの実行を指示しない限り処理をしないということになります。
もし、2行目を入力したときに自動で金額が出て、3行目に直接入力したらそれが表示されて、というように入力したタイミングで結果がすぐ出るようにはVBAではできません。あるタイミングで実行させるバッチ処理になります。
蛇足ですが。
    • good
    • 0

直接入力と式での入力のセルが一緒でつかいわけるなんていうことはできません。


やるならVBAでしか無理でしょう。
直接入力欄を別に取るか表示欄を別にするしかないです。
    • good
    • 0

 オペレーターが直接入力するための欄を別の場所(例えばE列)に設けて、Exが未入力の場合にはDxの計算結果を表示させ、Exにデーターが入力されている場合には、Exの値を表示させる様にしては如何でしょうか。


 それには、Cxに以下の様な数式を入力されると、良いと思います。

=IF(Ex="",Dx,Ex)
    • good
    • 0

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