设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] VBA返回选中的区域是单个单元格还是区域?

[复制链接]
跳转到指定楼层
楼主
发表于 2016-7-8 14:06:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果我在表格中选择一定数量的单元格,那么如何返回我选择的是单个单元格还是一个区域,如果是前者,返回“N”,如果是后者,返回“Y”


  1. Sub RegionOrCell()
  2. If TypeName(Selection) = "Range" Then
  3.     Select Case Selection.Count
  4.         Case 1
  5.             MsgBox "N"
  6.         Case Else
  7.             MsgBox "Y"
  8.     End Select
  9. End If
  10. End Sub
复制代码


这个可以利用selection的count属性来进行判断
回复

使用道具 举报

沙发
 楼主| 发表于 2016-7-8 14:11:10 | 只看该作者
  1. Sub RegionOrCell()
  2. If TypeName(Selection) = "Range" Then
  3.      MsgBox Application.WorksheetFunction.Text(Selection.Count, "[=1]\N;\Y")
  4. End If
  5. End Sub
复制代码


这个利用了工作表函数text,设置了数值的显示格式。如果selection.Count=1,刚显示为N,如果不为1,则显示为Y
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2016-7-8 14:13:49 | 只看该作者
  1. Sub Count_Selection()
  2. If Selection.Columns.Count <> 1 Or Selection.Rows.Count <> 1 Then
  3. MsgBox "Y"
  4. Else
  5. MsgBox "N"
  6. End If
  7. End Sub
复制代码
回复 支持 反对

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-29 03:55 , Processed in 0.170404 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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