网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月16日漏签0天
excel吧 关注:281,485贴子:1,551,933
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回excel吧
>0< 加载中...

【VB】求助:如何实现EXCEL表格不填写指定单元格就无法保存?

  • 只看楼主
  • 收藏

  • 回复
  • 籼米笑
  • 日新月E
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如图,我希望将红色框选的几个单元格设置为必填项,不填写就无法保存,使用了如下宏指令
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim EmpyNum As Integer
EmpyNum = 0
For i = 13 To 22
For j = 7 To 7
If (Trim(Worksheets(1).Cells(i, j)) = "") Then
EmpyNum = EmpyNum + 1
End If
Next
Next
If EmpyNum >= 0 Then
MsgBox "该填的单元格都没填写,不能保存文件"
Cancel = True
End If
End Sub
但是保存之后提示:该填的单元格都没填写,不能保存文件,也就是我设置的报错提示,但是相应单元格我都已经填写了内容,请问下是命令行的行列定位错了还是什么原因呢?


  • 籼米笑
  • 日新月E
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
现更改命令如下,已可正常运行,但是请问如何指定多个单元格或者说如何划定区域呢?
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G13") = "" Then
MsgBox "Sheet1表的G13单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G13").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G14") = "" Then
MsgBox "Sheet1表的G14单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G14").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G15") = "" Then
MsgBox "Sheet1表的G15单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G15").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G16") = "" Then
MsgBox "Sheet1表的G16单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G16").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G17") = "" Then
MsgBox "Sheet1表的G17单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G17").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G18") = "" Then
MsgBox "Sheet1表的G18单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G18").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G19") = "" Then
MsgBox "Sheet1表的G19单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G19").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G20") = "" Then
MsgBox "Sheet1表的G20单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G20").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G21") = "" Then
MsgBox "Sheet1表的G21单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G21").Select
Cancel = True
End If
If Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Range("G22") = "" Then
MsgBox "Sheet1表的G22单元格不能为空!", , "提醒"
Worksheets("放假注意事项-宿舍撤离前安全检查checklist").Activate
ActiveSheet.Range("G22").Select
Cancel = True
End If
End Sub


2025-08-16 02:21:51
广告
不感兴趣
开通SVIP免广告
  • baifandu2013
  • 博采众E
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我没用过这类功能,我用你的代码测试了下,根本就不触发,我也不知道原因。
仅就你代码来看,双重循环是多余的,直接写成(Worksheets(1).Cells(i,7)就可以省略一个循环。还有就是判断是否填写内容,可以用isempty函数,感觉比Trim(Worksheets(1).Cells(i, j)) = ""靠谱


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示