Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2875|回复: 6

[已解决]让 ComboBox限制输入非阿拉伯数字。

[复制链接]
发表于 2016-4-26 21:19 | 显示全部楼层 |阅读模式
ComboBox限制非阿拉伯数字输入.rar (15.95 KB, 下载次数: 19)
发表于 2016-4-26 21:48 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub ComboBox1_Change()
  2.     On Error Resume Next
  3.     With Me.ComboBox1
  4.         If Not CStr(Val(.Value)) = .Value Then
  5.             .Value = Left(.Value, Len(.Value) - 1)
  6.         End If
  7.     End With
  8.     On Error GoTo 0
  9. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-4-26 23:38 | 显示全部楼层
ghostjiao 发表于 2016-4-26 21:48

可不可以在输完数字后再输入-号,就直接变成负数

比如ComboBox输入好999,然后再输入-。那么ComboBox中的999就变成-999
回复

使用道具 举报

发表于 2016-4-27 08:27 | 显示全部楼层
excel010 发表于 2016-4-26 23:38
可不可以在输完数字后再输入-号,就直接变成负数

比如ComboBox输入好999,然后再输入-。那么ComboBox中 ...

最前面输入-不就行了,干嘛要在后面
回复

使用道具 举报

 楼主| 发表于 2016-4-27 20:10 | 显示全部楼层
ghostjiao 发表于 2016-4-27 08:27
最前面输入-不就行了,干嘛要在后面

老师!当前情况好像不能先输入-号,要先输入好数字,再移到数字最前面输入-号才行

能改成先输入-号再输入数字吗?

回复

使用道具 举报

发表于 2016-4-28 10:25 | 显示全部楼层
excel010 发表于 2016-4-27 20:10
老师!当前情况好像不能先输入-号,要先输入好数字,再移到数字最前面输入-号才行

能改成先输入-号再输 ...
  1. Private Sub ComboBox1_Change()
  2.     Dim i%, str$, sr$
  3.     sr = ""
  4.     With Me.ComboBox1
  5.         For i = 1 To Len(.Value)
  6.             str = Mid(.Value, i, 1)
  7.             If str = "-" And i = 1 Then
  8.                 sr = sr & str
  9.             Else
  10.                 If str Like "[0-9]" Then
  11.                     sr = sr & str
  12.                 End If
  13.             End If
  14.         Next
  15.         .Value = sr
  16.     End With
  17. End Sub
复制代码
太久不写了,不会写了,看看行不行
回复

使用道具 举报

 楼主| 发表于 2016-4-28 22:08 | 显示全部楼层
ghostjiao 发表于 2016-4-28 10:25
太久不写了,不会写了,看看行不行

非常感谢!!!非常感谢!!!非常感谢!!!非常感谢!!!非常感谢!!!非常感谢!!!非常感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 00:24 , Processed in 0.287559 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表