Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2336 / 13646 ツリー ←次へ | 前へ→

【68644】テキストボックスでの数式について レッズ命 11/3/31(木) 23:17 質問[未読]
【68645】Re:テキストボックスでの数式について UO3 11/4/1(金) 9:44 回答[未読]
【68646】Re:テキストボックスでの数式について kanabun 11/4/1(金) 9:52 発言[未読]
【68653】Re:テキストボックスでの数式について レッズ命 11/4/1(金) 13:22 お礼[未読]

【68644】テキストボックスでの数式について
質問  レッズ命  - 11/3/31(木) 23:17 -

引用なし
パスワード
   何度も質問してしまい、申し訳ありません。

テキストボックスに
TextBox3.Value = Val(Me.TextBox3.Value) + Val(Me.TextBox2.Value)
とあり、
例えば、=2+3をして、5と表示されている場合、
それをB1セルに=2+3と出力し、5と表示されるようにしたいのですが、
いい方法はありますでしょうか?

どこを調べてもわからなかったので、分かる方がいらっしゃいましたら、
よろしくお願いいたします。

【68645】Re:テキストボックスでの数式について
回答  UO3  - 11/4/1(金) 9:44 -

引用なし
パスワード
   ▼レッズ命 さん:

こんにちは

この処理を行うタイミングをどう考えておられるのか不明ですが、少なくとも
TextBox3の内容を足し算でいれかえてしまった後、その内容だけから足し算する前の
値を取り出すことは不可能です。
かりにTextBox2およびTextBox3の入力をトリガーとして処理を行う案です。

★ただし、このような構成は疑問です。
 TextBox3 と TextBox2 は、それぞれ入力用としておき、足し算結果は、別のTextBoxなり
 Labelなりに表示したほうが扱いやすいと思うのですが・・・

Option Explicit

Dim flag As Boolean

Private Sub TextBox2_AfterUpdate()
  If Not flag Then exCal
End Sub

Private Sub TextBox3_AfterUpdate()
  If Not flag Then exCal
End Sub

Private Sub exCal()
  Dim t2 As Long, t3 As Long
  flag = True
  t2 = Val(TextBox2.Value)
  t3 = Val(TextBox3.Value)
  TextBox2.Value = t2 + t3
  Range("B1").Formula = "=" & t3 & "+" & t2
  flag = False
End Sub

【68646】Re:テキストボックスでの数式について
発言  kanabun  - 11/4/1(金) 9:52 -

引用なし
パスワード
   ▼レッズ命 さん:

>それをB1セルに=2+3と出力し、5と表示されるようにしたいのですが、

ユーザーフォームのTextBoxのこととして、
いくつか方法はあると思いますが、
その一つに TextBoxのControlSourceプロパティを使う方法があります。
この方法を使うと コードを書く必要がなくなります。

VBEウィンドウで[F4] を押して、
ユーザーフォームのプロパティボックス で
 TextBox2 の ControlSource を たとえば「Sheet1!S1」とし、
 TextBox3 の ControlSource を たとえば「Sheet1!T1」として
おきます。

つぎに、Sheet1の[B1]セルに 数式 =S1+T1  を書き込みます。

以上で、TextBoxに数値を打ち込むと、
[B1]セルに合計値が表示されるようになります。


プロパティの設定は コードでしてもいいわけですけど。

Private Sub UserForm_Initialize()
  TextBox2.ControlSource = "Sheet1!S1"
  TextBox3.ControlSource = "Sheet1!T1"
  
End Sub

【68653】Re:テキストボックスでの数式について
お礼  レッズ命  - 11/4/1(金) 13:22 -

引用なし
パスワード
   ▼kanabun さん:
▼UO3さん:

同じくご回答ありがとうございました。

.Formula = "=" & t3 & "+" & t2

を使い、テキストボックスも増やして、対応することにしました。

思い通りのことができるようになりました。

本当にありがとうございました。

2336 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free