Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2005|回复: 3

[已解决]帮忙修改下代码,多谢

[复制链接]
发表于 2016-5-10 22:54 | 显示全部楼层 |阅读模式
要实现如果C4单元格为空时,则跳出提示窗口,退出窗口后C4返回原来的值:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$4" And Cells(4, 3) = "" Then
MsgBox "该单元格内容不能为空,请重新设置!"
Application.ActiveDocument.Undo  ‘要让此撤消操作并返回C4单元格原来的内容。
End If
End Sub

请问红色部分代码怎么修改。
最佳答案
2016-5-11 09:56
  1. Dim tmp
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Application.EnableEvents = False
  4.     If Target.Address = "$C$4" Then
  5.         If Len(Target) > 0 Then
  6.             tmp = Target
  7.         Else
  8.             MsgBox "该单元格内容不能为空,请重新设置!"
  9.             Target = tmp
  10.         End If
  11.     End If
  12.     Application.EnableEvents = True
  13. End Sub

  14. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  15.     If Target.Address = "$C$4" Then tmp = Target
  16. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-5-11 09:56 | 显示全部楼层    本楼为最佳答案   
  1. Dim tmp
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Application.EnableEvents = False
  4.     If Target.Address = "$C$4" Then
  5.         If Len(Target) > 0 Then
  6.             tmp = Target
  7.         Else
  8.             MsgBox "该单元格内容不能为空,请重新设置!"
  9.             Target = tmp
  10.         End If
  11.     End If
  12.     Application.EnableEvents = True
  13. End Sub

  14. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  15.     If Target.Address = "$C$4" Then tmp = Target
  16. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2016-5-11 14:21 | 显示全部楼层
grf1973 发表于 2016-5-11 09:56

如果要在同一个工作表中的D4单元格达到一样的效果,请问要怎么做呢
回复

使用道具 举报

发表于 2016-5-11 14:24 | 显示全部楼层
把两段代码里的
If Target.Address = "$C$4" 改成

if not intersect(target,[c4:d4]) is nothing
或者
If Target.Address = "$C$4" or Target.Address = "$D$4"
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 17:29 , Processed in 1.420866 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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