我有三个texbox,名为tbttUg1,tbttUg2和tbttUg3。基本的是,当我点击"添加"按钮,第一个文本框显示一个equestion的结果。当我第二次点击它时,第二个文本框显示结果。
代码是:
Private Sub CommandButton1_Click()
Dim bb As Integer
Dim dt As Integer
bb = tbttA.Value / (0.5 * tbttP.Value)
dt = tbttw.Value + cbttL.Value * (0.17 + 1 / tbttU.Value)
mif = 2 * cbttL.Value / (3.1415 * bb + dt) * Application.WorksheetFunction.Ln(3.1415 * bb / dt + 1)
wif = cbttL.Value / (0.457 * bb + dt)
If tbttUg1.Value = "" And dt < bb Then
tbttUg1.Value = Round(mif, 4)
ElseIf tbttUg1.Value = "" And dt >= bb Then
tbttUg1.Value = Round(wif, 4)
ElseIf tbttUg1.Value > 0 And dt < bb Then
tbttUg2.Value = Round(mif, 4)
ElseIf tbttUg1.Value > 0 And dt >= bb Then
tbttUg2.Value = Round(wif, 4)
ElseIf tbttUg2.Value > 0 And dt < bb Then
tbttUg3.Value = Round(mif, 4)
ElseIf tbttUg2.Value > 0 And dt >= bb Then
tbttUg3.Value = Round(wif, 4)
Else
MsgBox "halo"
End If
End Sub
问题是,添加仅适用于两个texbox,我不知道为什么,但第三个添加总是重写第二个。
有人看到编码中的错误吗?
此外,是否有更好的方法可以在单个用户表单上添加ans查看中间结果 网页?
感谢您的任何反馈!
答案 0 :(得分:0)
如果您拆分mif
/ wif
内容,并且每个框只有一个If
语句,它就会明确说明您的代码。这有用吗?
Dim DispText As String
DispText = Round(IIf(dt < bb, mif, wif), 4)
If Len(tbttUg1.Value) = 0 Then
tbttUg1.Value = DispText
ElseIf Len(tbttUg2.Value) = 0 Then
tbttUg2.Value = DispText
ElseIf Len(tbttUg3.Value) = 0 Then
tbttUg3.Value = DispText
Else
MsgBox "halo"
End If