主题:[讨论]高手帮忙啊
ss1268
[专家分:0] 发布于 2008-12-16 17:02:00
附件中有一组公式,该公式是在EXECL下计算的,我想移植到VB中,该如何完成,
另外想TextBox1只接受+,-及数字
代码如下写,提示
Private Sub TextBox1_Change()
If Len(Me.TextBox1.Text) = 0 Then Exit Sub
If IsNumeric(Me.TextBox1.Text) Then
Else
MsgBox "你输入的不是数字,请重新输入"
End If
请问如何更正.
我是个菜鸟,请高手帮忙.谢谢
回复列表 (共2个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-12-17 08:49:00
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = ValiText(KeyAscii, "0123456789+-", True)
End Sub
Function ValiText(KeyIn As Integer, ValidateString As String, Editable As Boolean) As Integer
Dim ValidateList As String
ValidateList = IIf(Editable, UCase(ValidateString) & Chr(8), UCase(ValidateString))
ValiText = IIf(InStr(ValidateList, UCase(Chr(KeyIn))), KeyIn, 0)
End Function
现在就可以过滤掉你不希望的字符了,只接受第二个参数提供的字符,即:"0123456789+-" 而函数的第三个参数决定了能否使用 [Backspace] 键。
板凳
ss1268 [专家分:0] 发布于 2008-12-17 17:12:00
=SQRT(C3^2+D3^2)*COS(((E6-B6)*PI()/180)+ACOS(C3/SQRT(C3^2+D3^2)))
上面的公式在VB中如何表达.
有8格Textlabe和一格按钮Command1,当点击按钮时.如何引用上面的公式,
C3,D3E6,B6,在Execl中表示单元格,移植倒vb中用Textlabe是如何表示的.
谢谢
我来回复