周一至周五 : 08:30 - 17:30 客服专员电话/微信:18049979371 QQ:2982200781
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
VBA:校验身份证位数
显示全部楼层 倒序浏览 发表日期 2022-09-26 17:06:57 250次阅读 0次回复
校验身份证位数的VBA


如果身份证位数不是18,则字段区域变红。


GIF 2022-09-26 16-57-32.gif


在身份证字段的右侧添加一个判断字段,判断字段添加函数来判断身份证字段的值是否正确
20220926170406.png


VBA使用方法:直接复制下面的内容,T_255替换成自己的表名,把F_51655替换成需要判断的字段别名
  1. Imports SpreadsheetGear
  2. Imports C1.Silverlight
  3. Imports C1.Silverlight.C1MessageBoxButton
  4. Imports C1.Silverlight.C1MessageBoxIcon
  5. Imports Newtonsoft.Json
  6. Imports Newtonsoft.Json.Linq
  7. Imports System.Windows.forms
  8. Namespace ExcelViewVBDotnet
  9. Public Class StandardInterface
  10.        


  11.        '预留位置1
  12.        '预留位置2
  13.        Dim EV As SpreadsheetGear.Windows.Controls.WorkbookView,AW As SpreadsheetGear.IWorkbook,Range As SpreadsheetGear.IRange
  14.           
  15.        Public Sub Workbook_Open(OldRoot As Object,NewRoot As Object,Excel As SpreadsheetGear.Windows.Controls.WorkbookView)
  16.            EV = Excel
  17.            Excel.GetLock()
  18.            AW = Excel.ActiveWorkbook
  19.            Range = AW.ActiveWorksheet.Range
  20.            Excel.ReleaseLock()
  21.                   

  22.        End Sub'打开时执行事件

  23.        Public Sub RangeSelection(sender As Object,e As SpreadsheetGear.Windows.Controls.RangeSelectionChangedEventArgs)  

  24.            ActiveWorkbook.WorkbookSet.GetLock()
  25. '定义一个明细表的范围:T_155          
  26.            Dim Rng As IRange = e.RangeSelection.Intersect(Range("T_255"))
  27.            Dim MyRange As IRange
  28. '如果选择区域不在设定的范围内,不执行下面的代码
  29.                 If Rng IsNot Nothing Then
  30.                        
  31. '          ActiveWorkbook.ActiveWorksheet.ProtectContents = False
  32. '                  C1MessageBox.Show("你好!", "提示", OK, Information)
  33.                   '循环判断F_51527_,F_51533_,F_51534_三块区域
  34.                   For Each MyRange In Range("F_51655")
  35.                           '判断区域的值是否等于"TRUE"
  36.             If MyRange.value = "1" Then
  37.                                 '满足条件的单元格的值左侧一格单元格锁定
  38. '                 MyRange.Cells(0,-9).Locked = True
  39.                                  MyRange.Cells(0,-9).Interior.Color = Color.FromArgb(255,0,0)
  40.                 Else
  41.                                         '不满足条件的单元格的值左侧一格单元格解锁
  42. '                 MyRange.Cells(0,-9).Locked = False
  43.                                  MyRange.Cells(0,-9).Interior.Color = Color.FromArgb(255,255,255)
  44.                 End If
  45.             Next
  46.                         End If               
  47.            ActiveWorkbook.WorkbookSet.ReleaseLock()
  48.           
  49.        End Sub'单元格选择后执行的事件

  50.        Public Sub RangeChanged(sender As Object,e As SpreadsheetGear.Windows.Controls.RangeChangedEventArgs)

  51.        End Sub'单元格编辑完成后执行事件

  52.        Public Sub ButtunClick(sender As Object,e As SpreadsheetGear.Windows.Controls.ShapeActionEventArgs)

  53.        End Sub'按钮/标签点击事件

  54.        Public Sub FollowHyperlink(sender As Object)

  55.        End Sub '暂不支持

  56.    End Class
  57. '  注:除事件字眼下可以自定义代码外的所有代码不允许改动,否则编译将有可能失败。
  58. End Namespace
复制代码




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

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |