设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
开启左侧

[OFFICE] 设置excel中数据有效性不被复制黏贴破坏

[复制链接]
发表于 2019-5-8 11:17:10 | 显示全部楼层 |阅读模式

加入vbs脚本编程,同时开启宏。但是如果用户电脑不开启宏,意味着生成的excel中vbs脚本失效。操作步骤如下:
1.png



点击开发工具,启动宏,如果wps的话开启需要安装插件
2.png


点击根据步骤1,2,3将vbs代码复制黏贴进去,vbs代码在文章底部。
重点!重点!重点!最后记得要加密整个工作簿,可以编辑的单元格要设置取消锁定(选中单元格,鼠标右键后点击单元格格式)。
3.png

4.png

vbs代码如下:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.    Dim rng As Range
  3.    Dim c As String
  4.     For Each rng In Target
  5.     If Not rng.Validation.Value Then
  6.         Application.Undo
  7.         Dim msg As String
  8.         msg = "粘贴的数据不符合校验规则:位置在第" & rng.Row & "行,第" & getColumnName(rng.column) & "列,请仔细检查"
  9.         MsgBox prompt:=msg, Title:="输入提示"
  10.     Exit For
  11.     End If
  12. Next
  13. End Sub


  14. Private Function getColumnName(column As Integer) As String
  15.     Dim alphabet(26) As String
  16.     alphabet(0) = "A"
  17.     alphabet(1) = "B"
  18.     alphabet(2) = "C"
  19.     alphabet(3) = "D"
  20.     alphabet(4) = "E"
  21.     alphabet(5) = "F"
  22.     alphabet(6) = "G"
  23.     alphabet(7) = "H"
  24.     alphabet(8) = "I"
  25.     alphabet(9) = "J"
  26.     alphabet(10) = "K"
  27.     alphabet(11) = "L"
  28.     alphabet(12) = "M"
  29.     alphabet(13) = "N"
  30.     alphabet(14) = "O"
  31.     alphabet(15) = "P"
  32.     alphabet(16) = "Q"
  33.     alphabet(17) = "R"
  34.     alphabet(18) = "S"
  35.     alphabet(19) = "T"
  36.     alphabet(20) = "U"
  37.     alphabet(21) = "V"
  38.     alphabet(22) = "W"
  39.     alphabet(23) = "X"
  40.     alphabet(24) = "Y"
  41.     alphabet(25) = "Z"

  42.    
  43.     If (column < 27) Then
  44.         getColumnName = alphabet(column - 1)
  45.     Else
  46.         Dim i, j As Integer
  47.         i = column \ 26
  48.         j = column Mod 26
  49.         If (i < 26) Then
  50.             getColumnName = alphabet(i - 1) & alphabet(j - 1)
  51.         Else
  52.             getColumnName = column
  53.         End If
  54.             
  55.     End If
  56.    
  57. End Function
复制代码









回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-19 00:03 , Processed in 0.178700 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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