【发布时间】:2016-11-08 21:07:33
【问题描述】:
我正在尝试创建一个文本框,允许用户在我的 Excel-VBA 用户表单中输入 1-5% 之间的百分比。我创建了文本框并添加了代码来限制格式始终显示为百分比。我的问题是,当我尝试通过按退格键来编辑文本框中的默认百分比时,小数点向右移动两个空格,而不是删除任何当前值。下面是我的代码的副本。请注意,文本框未锁定。
Private Sub PV_change()
PV.Text = Format(PV.Value, "Percent")
End Sub
【问题讨论】:
-
为什么必须让文本框显示%?似乎更可取的是简单地处理相关过程/函数中的用户输入,并在那里进行转换,例如
CDbl(PV.Value)/100) -
@DavidZemens 我认为这没有必要,但如果用户清楚地知道该值为 %,它会使用户表单对用户更直观。
-
这会让用户更难输入,因为他们必须输入
.05才能显示5%。 -
它不会像发布的那样工作。尝试输入 0.05 - 我得到
0.00%.05这是因为在第一次击键后文本框包含0.00%然后在第二个键之后是0.00%.不再可作为数字和Format失败并返回原始字符串.最好在文本框旁边放一个字符串来表示%,并在别处处理转换 -
@chrisneilsen 我希望我能给你的评论投票+100
标签: excel textbox userform vba