ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 操作与技巧 > 自定义函数显示选择区域中的指定值

自定义函数显示选择区域中的指定值

作者:绿色风 分类: 时间:2022-08-18 浏览:123
楼主
chenlifeng
我们用鼠标选定某一个工作表的单元格区间时,鼠标总会 以某一个单元格作为选择区域的结束单元格。
下面的自定义函数,即是用于显示 该单元格的值:
  1. Function 求当前单元格内容(单元格范围 As Range) As String

  2.     Dim 起始单元格地址所在行 As String, 起始单元格地址所在列 As String
  3.         起始单元格地址所在行 = GetNum(ActiveCell.Address(0, 0), 1)
  4.         起始单元格地址所在列 = GetNum(ActiveCell.Address(0, 0), 2)

  5.     Dim 选择区间 As String
  6.         选择区间 = 单元格范围.Address(0, 0)

  7.     Dim 左上角的行 As String, 左下角的行 As String, 右上角的行 As String, 右下角的行 As String
  8.     Dim 左上角的列 As String, 左下角的列 As String, 右上角的列 As String, 右下角的列 As String
  9.    
  10.     If 单元格范围.Count = 1 Then 求当前单元格内容 = ActiveCell.Value: Exit Function
  11.    
  12.     左上角的行 = GetNum(Split(选择区间, ":")(0), 1)
  13.     左上角的列 = GetNum(Split(选择区间, ":")(0), 2)
  14.    
  15.     右下角的行 = GetNum(Split(选择区间, ":")(1), 1)
  16.     右下角的列 = GetNum(Split(选择区间, ":")(1), 2)
  17.    
  18.     左下角的行 = 右下角的行
  19.     左下角的列 = 左上角的列
  20.    
  21.     右上角的行 = 左上角的行
  22.     右上角的列 = 右下角的列
  23.    
  24.     If 左上角的行 <> 起始单元格地址所在行 And 左上角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(左上角的列 & 左上角的行).Value: Exit Function
  25.     If 左下角的行 <> 起始单元格地址所在行 And 左下角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(左下角的列 & 左下角的行).Value: Exit Function
  26.     If 右上角的行 <> 起始单元格地址所在行 And 右上角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(右上角的列 & 右上角的行).Value: Exit Function
  27.     求当前单元格内容 = Range(右下角的列 & 右下角的行).Value
  28. End Function
2楼
李欣Nina
要命呐,不懂
3楼
chenlifeng
偶是白痴,搞了一下午才明白,相信聪慧的你能懂。
举例:
我选择:B1:A8这个区域,如果鼠标最后离开的单元格是:
1、是B1,则上述函数答案就是B1中的值;
2、是A8,则是A8中的值;
3、是B8,则是B8中的值;
4、是A1,则是A1中的值。
    反正选择一个区域,最多也就上述四种选择法。

当只选择一个单元格时,就只有一种可能;
当只选择一行或一列单元格时,就只有两种可能。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap