Excel 仅显示单元格中输入值的数字

Excel 仅显示单元格中输入值的数字,excel,vba,Excel,Vba,我在单元格中写“WWW 12345”(或“WWW 12345”或“WWW12345”或“WWW 12345”)。 当我按enter键(或箭头)时,我只想在单元格中看到数字(例如12345) 在vba中,我尝试使用工作簿_SelectionChange,但不起作用。我试图创建一个自定义格式单元格,但它仅适用于数字 我怎么做这个?我不是程序员,所以我试图找到一个简单的解决方案(我能理解)。将此方法与link中的onlyDigits函数或regex函数结合使用 Private Sub Workshee

我在单元格中写“WWW 12345”(或“WWW 12345”或“WWW12345”或“WWW 12345”)。 当我按enter键(或箭头)时,我只想在单元格中看到数字(例如12345)

在vba中,我尝试使用工作簿_SelectionChange,但不起作用。我试图创建一个自定义格式单元格,但它仅适用于数字


我怎么做这个?我不是程序员,所以我试图找到一个简单的解决方案(我能理解)。

将此方法与link中的onlyDigits函数或regex函数结合使用

Private Sub Worksheet_Change(ByVal Target As Range)
    Target.Value = onlyDigits(Target.Value)
End Sub

您可以添加一个检查,以确保仅当某一列中的数据相对于整个工作表发生更改时才会调用此选项。

提供的解决方案应该有效您也可以使用是否要保留单元格值“WWW 12345”?@ThomasInzina:否,我键入“WWW 12345”,当我按enter(或箭头)导航到另一个单元格时,我需要在“12345”中更改文本@迈克尔·鲁索:这很有效,但是。。。仅当我重新选择单元格,或者我需要在离开单元格时(按enter键或箭头键)文本更改更新日期:当我要删除输入的值时,MS Excel已停止工作并将其关闭。“问题导致程序停止正常工作。Windows将关闭该程序并通知您是否有可用的解决方案。”。我试图在link的onltDigits函数中的For行前面加上这一行“If Len(s)>0 Then”(和End If to End),但不起作用。我怎样才能解决这个问题?请帮忙!Thx.尝试使用Target.Value.SOLVED将条件放入
工作表\u Change
!但是新的我还有一个小问题!我想验证输入的值以防止重复。“www123”在“123”中被转换(这是可以的),但是当我输入“123”时什么也没有发生(我希望看到数据验证中的消息集),在您的空检查之后,您可以获取转换后的值,在单元格中循环查看它是否已经存在,如果不存在,则让它设置
Target.value
。否则,您可以使用消息框向用户显示该值已经存在。