Office中国论坛/Access中国论坛

标题: Excel里对单元格进行判断 [打印本页]

作者: navy    时间: 2008-3-20 17:11
标题: Excel里对单元格进行判断
 B1B2B3B4B5
A1     
A2     
A3     
A4     
A5     
A6     
A7     
A8     
A9     
A10     
A11     
A12     
A13     
A14     
A15     
A16     
A17     
A18     
A19     
A20     


我是Excel新手,上面的表格,要是在B1列的绿色的单元格有数据或任何内容时,黄色的单元格就需要输入数据,要是没有数据就会弹出对话框提示需要输入数据。在VB里不知应该如何写。希望各位高手帮帮小弟,或者给些提示!
作者: navy    时间: 2008-3-20 17:17
不好意思!附件里有这个表格。
作者: tanhong    时间: 2008-3-20 19:51
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim I As Integer

If Cells(2, Target.Column)  < >  "" Then
   
    If Target.Row < 3 Or Target.Row > 11 And Target.Row < 22 Then Exit Sub
       For I = 12 To 21
           If Cells(I, Target.Column) = "" Then
              MsgBox "黄色区域内数据输入不全!", vbOKOnly + vbExclamation, "输入提示:"
              Exit Sub
           End If
       Next I
   
End If

End Sub

不知道是否符合你的要求,你把这段代码粘帖到你的表1代码中

[ 本帖最后由 tanhong 于 2008-3-26 00:07 编辑 ]
作者: navy    时间: 2008-3-21 09:54
真是非常感谢tanhong的回答,这已经完全符合了我要的要求。

另外,要是想在Excel关闭时才对表格进行这些检查,要是黄色部分填写了内容,就提示填写内容是否正确,选择Yes就保存,选择No就再次进行编辑。不知能否达到这样的效果。
作者: pureshadow    时间: 2008-3-21 10:26
还是江版厉害
VBA我是弱项了[:50]
作者: tanhong    时间: 2008-3-21 22:13
原帖由 navy 于 2008-3-21 09:54 发表
真是非常感谢tanhong的回答,这已经完全符合了我要的要求。

另外,要是想在Excel关闭时才对表格进行这些检查,要是黄色部分填写了内容,就提示填写内容是否正确,选择Yes就保存,选择No就再次进行编辑。不知能否达 ...


你的问题不是很清楚,能否说得更详细一些,例如:退出时检测数据是否正确,但什么才是正确的呢?还有是整个黄色区域都是否都需要检测?
作者: shinubi214    时间: 2008-3-22 11:01
猛人。好好学习学习了
作者: 江南民谣    时间: 2008-3-25 11:28
用条件格式效验,配合数据有效性设置即可,可参考我早先写过的一文章:
http://blog.jxja.vnet.cn/user1/jnmy/archives/2006/53.html
作者: navy    时间: 2008-3-25 12:57
非常不好意思!现在才回应,之前设计的表格有点问题。所以无法清楚表达。现在重新对表格设计了一下,因为是第一次写VBA,所以代码比较冗长和不规范。还请帮忙修改一下。
作者: tanhong    时间: 2008-3-26 00:00
代码已经帮你整理好了,因为只是根据我理解的你的想法,再就是从代码的合理性解度做了相应修改

修改后样本:[attach]29239[/attach]
作者: navy    时间: 2008-3-27 17:26
非常感谢tanhong的帮助!和各位的支持,让我有机会学习到新的知识!
作者: tanhong    时间: 2008-3-27 23:07
客气哦!有机会多交流
作者: xiaos204    时间: 2008-4-16 10:48
江版太厉害了,随便就是一个VBA 看不懂.要多学习学习!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3