Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 2010中的Userform VBA)格式化为荷兰手机号码_Vba_Excel 2010_Userform - Fatal编程技术网

将文本框(Excel 2010中的Userform VBA)格式化为荷兰手机号码

将文本框(Excel 2010中的Userform VBA)格式化为荷兰手机号码,vba,excel-2010,userform,Vba,Excel 2010,Userform,Stackian的同胞们 我是带着另一个问题来的,我想从中学习。 我有一个用户表单,可以将员工添加到员工数据库中。 代码如下所示,工作正常 Private Sub CommandButton1_Click() Dim iRow As Long Dim ws As Worksheet Set ws = Worksheets("Employee-Data") iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row ws.Cells(iR

Stackian的同胞们

我是带着另一个问题来的,我想从中学习。 我有一个用户表单,可以将员工添加到员工数据库中。 代码如下所示,工作正常

Private Sub CommandButton1_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Employee-Data")

iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

ws.Cells(iRow, 4).Value = Me.TextBox1.Value
ws.Cells(iRow, 3).Value = Me.TextBox2.Value
ws.Cells(iRow, 7).Value = Me.TextBox3.Value
ws.Cells(iRow, 6).Value = Me.TextBox4.Value
ws.Cells(iRow, 15).Value = Me.TextBox5.Value
ws.Cells(iRow, 9).Value = Me.TextBox6.Value
ThisWorkbook.Save
Unload Employee
End Sub
我的问题如下,我想将TextBox6的格式限制为荷兰电话号码,即06-#####。我希望TextBox6显示06-并使其只能键入8个数字作为值

我已经尝试了以下方法和更多方法:

Private Sub TextBox6_Change()
TextBox1.Text = Format(ws.Cells(iRow, 9).Value,"##""-"########")

End Sub
我在这里思考的错误是什么?我是否使用了错误的方法?有人能为这个问题提出一个像样的解决方案吗?如前所述,尝试从我的错误中学习,所以请告诉我我做错了什么,而不仅仅是提供解决方案

ws.Cells(iRow, 9).Value = "06-" & Me.TextBox6.Value

请注意单元格格式,因为您可能会得到一个日期。转换为文本或数字等。

textbox6不是在单元格中指定了值(iRow,9)?将第9列的格式设置为“文本”,并按照您希望它在textbox6中显示的方式显示整个数据。也许我没有说得足够清楚。我希望预设文本“06-”显示在用户表单文本框6中。因此,当他们输入“06-”11111111(仅剩余的数字)时,该值返回到我的工作表中,即06-11111111。你认为这可能吗?哦,当然。添加“06-”和before Me.Textbox6.Value。因此,它会读取
ws.Cells(iRow,9).Value=“06-”&Me.TextBox6.Value
您可能需要将单元格格式化为文本或其他内容,因为它可能会给您一个日期。答案如下:)只是为了解释一下,在“”之间的所有内容都是您想要的文本,&是用于添加其余指令的命令。我是否可以在专用Sub中执行此操作?在您的代码中,是的。只需在
Me.TextBox6.Value
前面添加一小部分
“06-”&
,您将不会在文本框中看到它,但它完成后会显示在单元格中。啊,现在我明白了。我如何在文本框中显示类似的内容。因为我的用户,你知道,是用户。我希望他们看到并输入剩余的8个数字。如果我这样做,我的用户可能会得到06-06-11111111的值。你可以简单地在文本框前面添加一个标签。在标签属性上,将“标题”更改为06-。这样,他们将看到文本框前面的06,而不会输入它。你也可以在标签上写上“不要添加代码,只需输入你的8位数或其他数字”。