创建一个 VBA 程序,该程序将执行两个十六进制数的加法或减法

Create a VBA program that will perform an addition or subtraction of two Hexadecimal numbers

我正在尝试让加法和减法选项都起作用,并在每个标签框之间显示正确的符号。我 运行 犯了一个错误,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

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

Addition_Click() 中,不清楚 Result 是否是您尝试引用的控件的正确名称。在这段代码的其他地方,你有 lblresult 所以你应该确定哪个是正确的名称并在整个过程中使用它。

您可能还想检查 Clear_Click()Unload 的用法(假设 UserForm1 是我们正在使用的形式)。您当前的代码可能会导致 UserForm1.Show

出现自动化错误