Dzwebs.Net

撰写电脑技术杂文十余年

不填写Excel单元格就不能保存文件

Admin | 2009-5-14 18:33:38 | 被阅次数 | 13782

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在Excel中,如何实现,不填写Excel单元格就不能保存文件?

  要实现这种功能,普通的方法是无法解决的,得使用VBA代码来实现!

  如下图,是一张数据表!

  在上述的表中,如果不填写ABC列的某些单元格,那么,将不能保存Excel文件。同时,会看到如下图的提示对话框!

  下面,偶来给大家介绍介绍,如何编写VBA代码!

  首先,在excel工作窗口中,按下 ALT+F11 组合键,打开VBA代码编写窗口,如下图!

  在上图中,在左边的操作区域,找到ThisWorkbook,点击右键,找到并选择“查看代码”,之后,会打开代码编写的小窗口,如下图!

  在上图中,首先在顶部的左边,选择 Workbook,在其右方选择 BeforeSave 事件;注意,这里非常关键,请选择好选项;

  然后,编写如上图的代码;最后,在VBA窗口中,对代码进行保存,整个过程完工!

  为方便大家的学习,下面,将代码贴至下文:

  Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim EmpyNum As Integer
  EmpyNum = 0
  For i = 2 To 13  '行数
      For j = 1 To 3 '列数
          If (Trim(Worksheets(1).Cells(i, j)) = "") Then  '判断有几个单元格没填
              EmpyNum = EmpyNum + 1
          End If
      Next
  Next
  If EmpyNum >= 0 Then '没填的单元格数大于1,就不能保存
      MsgBox "该填的单元格都没填写,不能保存文件"
      Cancel = True
  End If
  End Sub

  部分代码说明

  Worksheets(1)指的是第一个工作表的序号,与表的名称无关,可放心使用,同时可根据需要自己修改。

  Cells(i, j)指的是该表的第几行第几列,这里就是必须填写的单元格了,可根据需要修改范围;限制范围的修改,可通过如下的循环步长来实现:

  For i = 2 To 13  '行数
      For j = 1 To 3 '列数

  好,到此,本文结束,如果您存在问题,请联系本站站长!


该杂文来自: Excel杂文

上一篇:在excel中查找重复值并标上不同的颜色

下一篇:比较Excel两列值的的集合实例

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计