创建将对两个十六进制数字进行加法或减法的VBA程序

问题描述 投票:0回答:1

hi试图使加减法起作用,并在标签框之间显示正确的符号。我一直遇到错误,vba会为我突出显示它。 A,B,C框的值需要分别为10、11、12。当您单击任一按钮时,它应该填充值的第一个空白框。并且当两个框都已满并且您单击另一个字母时,该字母不应更改。基本上锁定这些值,直到您清除为止。

这是我的代码。请帮助我!

Private Sub Addition_Click()
Me.Result = (Me.LblFirstNum + 0) + (Me.LblSecondNum + 0)
'lblresult = Val(LblFirstNum) + Val(LblSecondNum)
End Sub

Private Sub BtnA_Click()
With LblFirstNum
'to display text
.Caption = "10"
.TextAlign = fmTextAlignCenter
'wrap text
.WordWrap = True
.Font.Size = 18
End With
End Sub

Private Sub BtnB_Click()
With LblSecondNum
'to display text
.Caption = "11"
.TextAlign = fmTextAlignCenter
 'wrap text
.WordWrap = True
.Font.Size = 18
End With 
End Sub

 Private Sub BtnC_Click()
With LblSecondNum
'to display text
.Caption = "12"
.TextAlign = fmTextAlignCenter
'wrap text
.WordWrap = True
.Font.Size = 18
End With
End Sub



Private Sub Calculate_Click()
'Me.Result = (Me.LblFirstNum + 0) + (Me.LblSecondNum + 0)
lblresult.Value = Val(LblFirstNum.Value) + Val(LblSecondNum.Value)
End Sub

Private Sub Clear_Click()
Unload UserForm1
UserForm1.Show
End Sub

Private Sub CommandButton2_Click()
'Exit Command
UserForm1.Hide
End Sub

Private Sub Result_Change()
End Sub

Private Sub Label4_Click()  
End Sub

Private Sub LblFirstNum_Click()
End Sub

Private Sub LblSecondNum_Click()
End Sub

Private Sub LblSign_Click()
End Sub

Private Sub Subtraction_Click()
'Me.Result = (Me.LblFirstNum + 0) - (Me.LblSecondNum + 0)
 lblresult.Value = Val(LblFirstNum.Value) - Val(LblSecondNum.Value)
End Sub
excel vba userform addition subtraction
1个回答
0
投票

Calculate_Click()Subtraction_Click()中,您尝试使用LblFirstNum.ValueLblSecondNum.Value检索标签上显示的文本。标签没有“值”属性。要使用的正确属性是“标题”。

Addition_Click()中,尚不清楚Result是否是您要引用的控件的正确名称。在此代码的其他地方,您有lblresult,因此您应该确定哪个是正确的名称并在整个过程中使用它。

您可能还想检查UnloadClear_Click()的使用情况(假设UserForm1是我们正在使用的格式)。您当前的代码可能会导致UserForm1.Show行上的自动化错误

© www.soinside.com 2019 - 2024. All rights reserved.