嘻皮客娱乐学习网

标题: VBA返回选中的区域是单个单元格还是区域? [打印本页]

作者: xipick    时间: 2016-7-8 14:06
标题: VBA返回选中的区域是单个单元格还是区域?
如果我在表格中选择一定数量的单元格,那么如何返回我选择的是单个单元格还是一个区域,如果是前者,返回“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属性来进行判断
作者: xipick    时间: 2016-7-8 14:11
  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
作者: xipick    时间: 2016-7-8 14:13
  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
复制代码





欢迎光临 嘻皮客娱乐学习网 (http://www.xipick.com/) Powered by Discuz! X3.3