Excel精英培训网

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

[已解决]能否判断单元格是否使用过

[复制链接]
发表于 2011-9-30 11:57 | 显示全部楼层 |阅读模式
在空表中的A1输入1,接着清除A1内容(1)。

现在,A1和其它单元格“看上去”一样,但对于usedrange.row.count有影响。

请问:能否判断单元格是否使用过?如果能,怎么判断啊,谢谢


最佳答案
2011-9-30 12:45
If Application.CountA(Sheet1.UsedRange.Cells) = 0 Then '是否为空工作表 未使用
发表于 2011-9-30 12:39 | 显示全部楼层
MsgBox Sheet1.UsedRange.Address  返回包含使用单元格的区域,
回复

使用道具 举报

发表于 2011-9-30 12:45 | 显示全部楼层    本楼为最佳答案   
If Application.CountA(Sheet1.UsedRange.Cells) = 0 Then '是否为空工作表 未使用
回复

使用道具 举报

 楼主| 发表于 2011-9-30 13:13 | 显示全部楼层

  1. Sub test1()
  2.     Dim rng1, rng2, rng3
  3.     Set rng1 = Sheet1.UsedRange
  4.     Set rng2 = Range("A1")
  5.     Set rng3 = Application.Intersect(rng1, rng2)
  6.     If rng3 Is Nothing Then
  7.         MsgBox "未使用过"
  8.     Else
  9.         MsgBox "使用过"
  10.     End If
  11. End Sub
复制代码

  1. Sub test2()
  2.     Dim x, s
  3.     For Each x In Sheet3.UsedRange
  4.         s = s & x.Address(0, 0) & ","
  5.     Next x
  6.     MsgBox s
  7. End Sub
复制代码
  1. Sub test3() 'mxg825
  2.     If Application.CountA(Sheet1.UsedRange.Cells) = 0 Then    '是否为空工作表 未使用
  3.         MsgBox "空工作表"
  4.     Else
  5.         MsgBox "不是工作表"
  6.     End If
  7. End Sub
复制代码

谢谢825!

看来,都得和usedrange属性打交道。发现个有趣情况:test1和test2对于A1单元格的判断,都显得无能为力。因为是空白工作表,EXCEL也认为A1单元格使用过。
test3是最简便的办法么{:041:}

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 01:36 , Processed in 0.237334 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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