Excel精英培训网

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

[已解决]根据某个单元格有无数据来判断某几列单元格有且只能填一列数据

[复制链接]
发表于 2015-11-26 10:14 | 显示全部楼层 |阅读模式
根据某个单元格有无数据来判断某几列单元格有且只能填一列数据,具体要求如附件。
分级唯一.xls.zip (16.61 KB, 下载次数: 7)
发表于 2015-11-26 11:01 | 显示全部楼层    本楼为最佳答案   
你给的附件我无法在I列下面填写数据(一填写EXCEL就出错并强制退出)进行程序检测,但应该问题不大,
  1. Sub check()
  2. Dim rg As Range, r%, c%, xh%, str$
  3. Set rg = Sheets(1).UsedRange.Find("件号/规格型号")
  4. r = rg.Row
  5. c = rg.Column
  6. For xh = r + 1 To 300
  7. If IsEmpty(Cells(xh, c)) Then
  8.     If Application.WorksheetFunction.CountA(Range(Cells(xh, 1), Cells(xh, c - 1))) > 0 Then
  9.         str = str & "," & xh
  10.     End If
  11. Else
  12.     If Application.WorksheetFunction.CountA(Range(Cells(xh, 1), Cells(xh, c - 1))) <> 1 Then
  13.         str = str & "," & xh
  14.     End If
  15. End If
  16. Next xh
  17. MsgBox "第" & Right(str, Len(str) - 1) & "行存在错误"
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-11-26 11:47 | 显示全部楼层
yorkchenshunan 发表于 2015-11-26 11:01
你给的附件我无法在I列下面填写数据(一填写EXCEL就出错并强制退出)进行程序检测,但应该问题不大,

很感谢你。但如果不加On Error Resume Next这个语句,如果Excel里面什么都不填,会出错。如下图:
1.png
回复

使用道具 举报

发表于 2015-11-26 12:58 | 显示全部楼层
pandengyisun 发表于 2015-11-26 11:47
很感谢你。但如果不加On Error Resume Next这个语句,如果Excel里面什么都不填,会出错。如下图:

嗯,见下
  1. Sub check()
  2. Dim rg As Range, r%, c%, xh%, str$
  3. Set rg = Sheets(1).UsedRange.Find("件号/规格型号")
  4. r = rg.Row
  5. c = rg.Column
  6. For xh = r + 1 To 300
  7. If IsEmpty(Cells(xh, c)) Then
  8.     If Application.WorksheetFunction.CountA(Range(Cells(xh, 1), Cells(xh, c - 1))) > 0 Then
  9.         str = str & "," & xh
  10.     End If
  11. Else
  12.     If Application.WorksheetFunction.CountA(Range(Cells(xh, 1), Cells(xh, c - 1))) <> 1 Then
  13.         str = str & "," & xh
  14.     End If
  15. End If
  16. Next xh
  17. If Len(str) = 0 Then
  18. MsgBox "检查完毕,无错误"
  19. Else
  20. MsgBox "第" & Right(str, Len(str) - 1) & "行存在错误"
  21. End If
  22. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 21:57 , Processed in 0.324421 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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