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

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
将明细表中可编辑字段中部分带有函数公式的行锁定
显示全部楼层 倒序浏览 发表日期 2020-09-16 11:54:34 2720次阅读 2次回复
本帖最后由 hessen 于 2020-9-16 11:59 编辑

明细表一列中,将改列设置了可编辑,而部分带有函数公式的行则也可以被编辑,可以通过VBA将带有函数公式的单元格锁定,不可编辑。其他没有公式的单元格正常编辑。将下面的代码写入VBA打开事件中,其中T_671是要判断的区域,一般为明细表区域。
  1. ActiveWorkbook.WorkbookSet.GetLock()
  2. Dim MyRange As IRange
  3.                 For Each MyRange In Range("T_671")
  4.                         If  MyRange.HasFormula Then
  5.                                 MyRange.Locked = True
  6.                         End If
  7.                 Next
  8.         ActiveWorkbook.WorkbookSet.ReleaseLock()
复制代码
如果要按钮执行可以按下面的方法写

  1.         Public Sub ButtunClick(sender As Object, e As SpreadsheetGear.Windows.Controls.ShapeActionEventArgs) Implements Interfaces.IExcelWorkBook.ButtunClick
  2.             ActiveWorkbook.WorkbookSet.GetLock()

  3.             Dim MyRange As IRange, BtName As String
  4.             BtName = e.Shape.Name
  5.             
  6.             ActiveWorkbook.WorkbookSet.ReleaseLock()

  7.             If BtName = "Button 1" Then
  8.                 For Each MyRange In Range("T_671")
  9.                     If MyRange.HasFormula Then
  10.                         MyRange.Value = BtName
  11.                         MyRange.Locked = True
  12.                     End If
  13.                 Next
  14.             End If


  15.         End Sub '按钮/标签点击事件
复制代码


电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

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

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

  • 微信小商店

  • 微信客服

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