• ベストアンサー

Excelの掛算について

↓こういうことは可能でしょうか? たとえば、A1のセルを「数量」、B1のセルを「価格」としたとき、 A2に 「数量」の "2" を入力し、B2に「価格」の1000円を入力し、Enterを押すと、B2に2000円(1000*2)が表示される ような技があれば教えて頂けないでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

次のように仕込むと出来ます。 シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range)  dim h as range  on error resume next  for each h in application.intersect(target, range("B:B"))  if h <> "" and isnumeric(h) then   application.enableevents = false   h = application.product(h.offset(0, -1).resize(1,2))   application.enableevents = true  end if  next end sub ファイルメニューから終了してエクセルに戻り,A列に何か数字を記入し,B列に数字を記入する。 #注意 エクセルでは「1000円」のつもりで「1000円」とセルに記入しちゃいけません。 数字はふつーに1000だけを書き入れます。 #単純に参考として,「こういうこともやれば出来る」という簡単なご紹介をしてみただけなので,今は理解する必要はありません。実際に手を動かしてやってみて,ご相談で書かれていた通りの結果になることだけを確認してください。追加ご質問も無しでお願いします。

tomatomo11
質問者

お礼

ネット回線か故障して、お返事遅れ申し訳ありません。 かなり初心者には難しい手法ですが、是非とも試してみたいと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

>B2に「価格」の1000円を入力し、Enterを押すと、B2に2000円  ⇒関数と入力は共存でき無い事はエクセルの常識です。   VBAならば実現できるが、技ではないし、且つ難易度も高いからお勧め   できません。   データ入力部と計算部と一緒にすると計算ミスが出た場合、計算方法なのか   入力ミスなのか判りませんので、普通に別々に構成した方が良いと思う。  

tomatomo11
質問者

お礼

ネット回線が故障して、お返事遅れてしまい申し訳ありません。 「エクセルの常識」は持ち合わせておりませんでした。 別々の構成も検討します。

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

できないような気がします。 B2セルに =A2*B2 という式を入力しようとした時点で「循環参照です」と怒られますし、 それを無視してB2セルに1000を入力した瞬間、 先に入力していた数式 =A2*B2 はどこかへ飛んでいってしまいますので。 そもそも、 B2セルの意味合いは「価格」ではなく「単価」のようですから、 ここは一つ 数量 単価 価格 をすべて残すために C2セルに =A2*B2 という式を入力することで解決させる、というわけにはいかないのでしょうか。

tomatomo11
質問者

お礼

ネット回線が故障して、お返事遅れてしまい申し訳ありません。 やっぱ無理なんですね。勉強になりました。

すると、全ての回答が全文表示されます。
回答No.1

  ありえません B2が2000になった瞬間に、A2の2と掛け算させるのでB2は2000*2の4000になる ところが4000になった瞬間に2倍されて8000になる、ところが8000になった瞬間に・・・・  

tomatomo11
質問者

お礼

ネット回線が故障して、お返事遅れてしまい申し訳ありません。 ありえないことが分かり勉強になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A