Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 根据选项按钮选择将文本框正值转换为负值_Excel_Vba_Textbox_Userform - Fatal编程技术网

Excel 根据选项按钮选择将文本框正值转换为负值

Excel 根据选项按钮选择将文本框正值转换为负值,excel,vba,textbox,userform,Excel,Vba,Textbox,Userform,我正在开发一个Excel用户表单,该表单带有一个文本框,用户可以输入收到或收到的美元金额。选择命令按钮后,该数字将放入电子表格单元格中。我有两个单选按钮,一个是给钱的,另一个是收钱的 我希望用户在框中输入一个正值,当选择给定按钮时,它将变为负值。选择received(接收)按钮后,它将使方框保持为正数 通常我会将某个值乘以-1,把它变成负数。我尝试了userform.textbox.value=userform.textbox.value*-1 更新后的专用子InsTxtBox_ GameLog

我正在开发一个Excel用户表单,该表单带有一个文本框,用户可以输入收到或收到的美元金额。选择命令按钮后,该数字将放入电子表格单元格中。我有两个单选按钮,一个是给钱的,另一个是收钱的

我希望用户在框中输入一个正值,当选择给定按钮时,它将变为负值。选择received(接收)按钮后,它将使方框保持为正数

通常我会将某个值乘以-1,把它变成负数。我尝试了userform.textbox.value=userform.textbox.value*-1

更新后的专用子InsTxtBox_ GameLogUF.InsTxtBox=格式GameLogUF.InsTxtBox,$, 如果GameLogUF.InsPlyrOptnBtn.Value=True,则 GameLogUF.InsTxtBox.Value=GameLogUF.InsTxtBox.Value*-1 如果结束 端接头
首先,检查是否触发了事件。在此子节点中放置断点并尝试更改该值

更新控件或记录时触发AfterUpdate事件。在记录中,当控件失去焦点或用户按Enter或Tab键时,每个控件中更改的数据都会更新

只是检查了你的代码,如果事件被触发,它就会工作

另外,我建议改变一下

Dim value As Double
Dim tryValue As String
'remove $ sign so String value could be converted to Number format
tryValue = Replace(GameLogUF.InsTxtBox.value, "$", "")

'if user input is not numeric after removing $ sign - input incorrect
If Not IsNumeric(tryValue) Then
    'do sth else
    Exit Sub
End If
value = tryValue

' "= True" part is not needed there is no need to compare boolean property '
If GameLogUF.InsPlyrOptnBtn.value Then
    'if user input is negative your code will turn it back to positive, with Abs it always will be negative in this case'
    value = Abs(value) * -1
End If
'do formatting in the end'
GameLogUF.InsTxtBox.value = Format(value, "$#,###")

非常感谢你的帮助。它工作得很好,只是我确实需要布尔属性来触发它。我应该解释一下,一个选项框用于资金流出,另一个用于资金流入,因此,如果选择选项框用于资金流出,则会将数字变成负数。但是代码是完美的。非常感谢你的帮助,我被难住了。