如何检查用户在文本框中输入的值是否为双精度数字?

2024-04-09

我试图检查用户是否在文本框中输入数字值,接受小数位。非常感谢任何帮助。

Private Sub textbox1_AfterUpdate()
If IsNumeric(textbox1.Value) = False Then
Me!textbox1.Undo
    MsgBox "only numbers are allowed"
Exit Sub
End If
Exit Sub

使用 BeforeUpdate 事件:

Private Sub textbox1_BeforeUpdate(Cancel As Integer)
If IsNumeric(textbox1.Value) = False Then
    MsgBox "only numbers are allowed"
Me!textbox1.Undo
Cancel = True
Exit Sub
End If
Exit Sub

我当前的代码根本不执行。我也在 textbox1_BeforeUpdate 事件中尝试过。请看代码。

新代码:

Public Function IsValidKeyAscii(ByVal keyAscii As Integer, ByVal value As 
String) As Boolean
IsValidKeyAscii = (keyAscii = vbKeyDot And InStr(1, value, Chr$(vbKeyDot)) = 
0) Or (keyAscii >= vbKey0 And keyAscii <= vbKey9)
End Function

Private Sub textbox1_KeyDown(KeyCode As Integer, Shift As Integer)
If Not IsValidKeyAscii(KeyCode, textbox1.value) Then KeyCode = 0

End Sub

您根本不应该使用 VBA 来完成此任务。

只需将字段格式属性设置为普通号码。这是确保用户只能在字段中输入数字的内置方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查用户在文本框中输入的值是否为双精度数字? 的相关文章

  • VBA 中 .NET 的 System.Convert 的替代方案

    我正在 Microsoft Access 中编写一个 VBA 函数 以使用 RSA 密钥加密 解密文本数据 目前正在进行以下工作 CreateObject System Security Cryptography RSACryptoServ
  • VBA 中类初始化时的参数

    是否可以在初始化时向类传递参数 就像 Java 等面向对象语言中所做的那样 您可以在其中创建参数化构造函数 事件Class Initialize 不允许我输入参数 我怎么解决这个问题 不幸的是 您不能使用参数化构造函数 最接近的替代方案是工
  • 查找字典中某个项目对应的键

    有什么方法可以找到与 VBA 字典中给定项目相对应的键吗 http msdn microsoft com en us library aa164502 28v office 10 29 aspx http msdn microsoft co
  • 升级到 Office 365 专业增强版后 Excel VBA 运行速度极慢

    我粘贴部分代码如下 这段代码是解析从HTTP请求得到的JSON字符串 根本没有工作表 工作簿操作 在office升级到office365专业增强版之前 效率还是蛮高的 但升级后 解析一个不到2秒的json 却要花费几分钟 我个人不明白根本原
  • 无法关闭打开的 Excel 工作簿

    我正在构建一个带有命令按钮 用户表单等的 Excel 文件 其中包含其他工作簿的链接 对于工作表上的命令按钮 我使用与用户表单中的命令按钮相同的代码 workbooks open path 使用用户表单命令按钮 添加以下内容 unload
  • VBA填写两个单元格之间的所有单元格

    我目前正在尝试编写一些 VBA 代码 该代码将使用两个单元格的值填充两个单元格之间的所有单元格 这是我所拥有的 我希望代码能够填写之间的所有单元格 如下所示 因此 正如您所看到的 我希望中间的所有单元格都填写为与两个角单元格相同的值 很感谢
  • WorksheetFunction 数组大小限制

    我正在尝试使用以下百分位数函数计算 VBA 内数组 arr1 中包含 100000 个值的数据集的 99 5 百分位数 Pctile Application WorksheetFunction Percentile arr1 0 995 P
  • 运行时错误“1004”:工作表类的粘贴方法失败错误

    使用 VBA 将 1 行文本从 Word 复制粘贴到 Excel 当代码到达下面的行时 我收到以下错误 ActiveSheet Paste 运行时错误 1004 工作表类的粘贴方法失败错误 But 如果我单击 调试 按钮并按 F8 则会粘贴
  • 在vba中打乱数组[重复]

    这个问题在这里已经有答案了 我需要对数组中的值进行无重复的洗牌 我需要在代码中添加什么以避免重复 Function Resample data vector n UBound data vector ReDim shuffled vecto
  • 在 Access 表单上将控件分组在一起

    我有一个 Access2003 表单 我想将多个控件组合在一起并通过 VBA 代码以编程方式更改可见性 这可能吗 我确实知道我可以通过 格式 gt 组 对项目进行分组 但如果这样做 如何在代码中引用整个组 谢谢 您可以将所有控件放置在组框控
  • VBA Excel 大数据操作需要很长时间

    我有两个Excel文件 第一个 Excel 文件包含 人员姓名 和 出席总天数 列 前任 PersonName TotalDays xyz abcd 另一个 Excel 文件包含人员姓名 日期和状态 出席 缺席 PersonName Dat
  • 通过单击按钮将 Access 中的数据获取到 C# 中的文本框中

    我在 MS Access 中有一个表 其中包含 FoodID FoodName Price 在 C 中 我有三个文本框 txtId txtName txtPrice 和一个按钮 btnSearch 我的问题是 在 C 中 我只需在 txtI
  • 导出到 Excel 时如何避免“数字存储为文本”

    当我将表格从 Access 导出到 Excel 时 所有数字都显示为文本 并且单元格上有绿色箭头 有没有办法自动修复此错误 或者有另一种导出方法可以解决该错误 作为参考 这是我导出的方式 DoCmd TransferSpreadsheet
  • MS Access 表单按钮,允许用户浏览/选择文件,然后将文件导入到表中

    在我的数据库中 我可以使用以下命令创建命令按钮导入文件 DoCmd TransferText acImportDelim 导入的原始数据 导入规范 导入的原始数据 D Users Denise Griffith Documents Grif
  • 运行代码(而不是查询)时如何在状态栏上显示进度

    我已经发布了有关在 MS Access 2010 中运行查询时更新状态栏的问题 请参阅在 MS Access 中运行一系列查询时如何在状态栏上显示进度 https stackoverflow com questions 27765376 h
  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • 在 Excel 表格中选择多列的代码

    我是 Excel VBA 新手 我需要修改我的代码 以便我能够进一步进行 我想在 Excel 表格中选择多个表格列 这是我的代码 Dim ws As Worksheet Dim tbl As ListObject Set ws Sheets
  • 错误:查询值的数量和目标字段的数量不相同

    Public Class RoomInfo Dim ValTx As String Dim ValNr As Integer Private Sub cboRoomType DropDown sender As System Object
  • MS Access 中重命名列的 DDL 是什么?

    在 MS Access 中重命名列的 DDL 是什么 大致如下 alter table myTable rename col1 to col2 它不适用于 MSAccess 2000 格式的数据库 我正在将 OLEDB 或 ADO NET
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是

随机推荐