作者:绿色风
分类:
时间:2022-08-18
浏览:123
楼主 chenlifeng |
我们用鼠标选定某一个工作表的单元格区间时,鼠标总会 以某一个单元格作为选择区域的结束单元格。 下面的自定义函数,即是用于显示 该单元格的值:- Function 求当前单元格内容(单元格范围 As Range) As String
- Dim 起始单元格地址所在行 As String, 起始单元格地址所在列 As String
- 起始单元格地址所在行 = GetNum(ActiveCell.Address(0, 0), 1)
- 起始单元格地址所在列 = GetNum(ActiveCell.Address(0, 0), 2)
- Dim 选择区间 As String
- 选择区间 = 单元格范围.Address(0, 0)
- Dim 左上角的行 As String, 左下角的行 As String, 右上角的行 As String, 右下角的行 As String
- Dim 左上角的列 As String, 左下角的列 As String, 右上角的列 As String, 右下角的列 As String
-
- If 单元格范围.Count = 1 Then 求当前单元格内容 = ActiveCell.Value: Exit Function
-
- 左上角的行 = GetNum(Split(选择区间, ":")(0), 1)
- 左上角的列 = GetNum(Split(选择区间, ":")(0), 2)
-
- 右下角的行 = GetNum(Split(选择区间, ":")(1), 1)
- 右下角的列 = GetNum(Split(选择区间, ":")(1), 2)
-
- 左下角的行 = 右下角的行
- 左下角的列 = 左上角的列
-
- 右上角的行 = 左上角的行
- 右上角的列 = 右下角的列
-
- If 左上角的行 <> 起始单元格地址所在行 And 左上角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(左上角的列 & 左上角的行).Value: Exit Function
- If 左下角的行 <> 起始单元格地址所在行 And 左下角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(左下角的列 & 左下角的行).Value: Exit Function
- If 右上角的行 <> 起始单元格地址所在行 And 右上角的列 <> 起始单元格地址所在列 Then 求当前单元格内容 = Range(右上角的列 & 右上角的行).Value: Exit Function
- 求当前单元格内容 = Range(右下角的列 & 右下角的行).Value
- 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总版主之一