将VBA用户表单文本框中的输入限制为仅数字

将VBA用户表单文本框中的输入限制为仅数字,vba,textbox,userform,Vba,Textbox,Userform,我创建了一个userform,其中包含一堆文本框,我想将这些文本框限制为双倍。不是为每个文本框添加一个IsNumeric(),而是有一个类似Userform_Change()的函数,我可以在其中传入输入的文本,或者我可以更改文本框属性中的某些内容,使其仅允许数字 此外,如果数字检查良好,文本框中的值是否仍然是字符串,或者当我将其复制到工作表中的单元格时Excel是否会知道它是数字?文本框可以配置为仅接受数字(以及密码)。例如,记事本是一个大的文本框。在Windows中,它们被称为编辑控件(富编辑

我创建了一个userform,其中包含一堆文本框,我想将这些文本框限制为双倍。不是为每个文本框添加一个IsNumeric(),而是有一个类似Userform_Change()的函数,我可以在其中传入输入的文本,或者我可以更改文本框属性中的某些内容,使其仅允许数字


此外,如果数字检查良好,文本框中的值是否仍然是字符串,或者当我将其复制到工作表中的单元格时Excel是否会知道它是数字?

文本框可以配置为仅接受数字(以及密码)。例如,记事本是一个大的文本框。在Windows中,它们被称为编辑控件(富编辑控件几乎支持编辑控件所做的一切)

因此,窗口样式是

埃苏数 只允许在编辑控件中输入数字。请注意,即使使用此集合,仍可以将非数字粘贴到编辑控件中。 要在创建控件后更改此样式,请使用
SetWindowLong


请参阅VBA中的Declare语句。

您可以用Windows的方式或您自己的方式进行操作。我不太清楚我是否理解。那么如何在VBA中实现这一点呢。文本框的ES_NUMBER和setwindowlong属性是什么?