百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Excel-VBA对象、属性、方法和事件(4)

csdh11 2025-03-06 13:53 3 浏览

8、Caller 属性

返回关于调用 Visual Basic 的信息(详细内容请参阅“说明”部分)。

语法

expression.Caller(Index)

expression 必选。该表达式返回 Application 对象。

Index Variant 类型,可选。数组的索引。仅当本属性返回数组时此参数才有用(详细内容请参阅“说明”部分)。

说明

本属性返回关于调用 Visual Basic 的信息,如下表所示。

调用进程

返回值

在单个单元格中输入的自定义函数

代表该单元格的 Range 对象

在单元格区域中作为数组公式的一部分的自定义函数

代表该单元格区域的 Range 对象

Auto_Open、 Auto_Close 、 Auto_Activate 或 Auto_Deactivate 宏

以文本方式返回的文档名

OnDoubleClickOnEntry 属性所指定的宏

该宏所应用的图表对象标识符或单元格引用(若适用)的名称

“工具 ”菜单中的“宏”对话框,或上述之外的其它调用者

#REF! 错误值


Caller 属性示例

本示例显示关于调用 Visual Basic 的信息。

Select Case TypeName(Application.Caller)
Case "Range"
v = Application.Caller.Address
Case "String"
v = Application.Caller
Case "Error"
v = "Error"
Case Else
v = "unknown"
End Select
MsgBox "caller = " & v

9、Offset 属性

可用 Offset(row, column) (其中 rowcolumn 为行偏移量和列偏移量)返回相对于另一区域在指定偏移量处的区域。下例选定位于当前选定区域左上角单元格的下三行且右一列处的单元格。由于不能选定不在活动工作表上的单元格,故必须首先激活工作表。

Worksheets("sheet1").Activate
'can't select unless the sheet is active
Selection.Offset(3, 1).Range("A1").Select

Union 方法

可用 Union(range1, range2, ...) 返回多块的区域,即该区域由两个或多个连续的单元格块所组成。下例创建由单元格区域“A1:B2”和“C3:D4”组成的多块区域对象,然后选定该区域。

Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)
myMultiAreaRange.Select

使用包含若干区域块的选定区域时,Areas 属性很有用。它将一个多区域选定区分割为单个的 Range 对象,然后将这些对象作为一个集合返回。使用返回集合的 Count 属性可检测一个选定区是否包含多个区域,如下例所示。

Sub NoMultiAreaSelection()
numberOfSelectedAreas = Selection.Areas.Count
If numberOfSelectedAreas > 1 Then
MsgBox "You cannot carry out this command " & _
"on multi-area selections"
End If
End Sub

10、Rows 属性

Application 对象:返回一个 Range 对象,此对象代表当前工作表的所有行。如果当前文档不是工作表, Rows 属性无效。只读。

Range 对象:返回一个 Range 对象,此对象代表指定区域中的所有行。只读。

Worksheet 对象: 返回一个 Range 对象,此对象代表指定工作表中的所有行。只读。

有关返回一个集合中单个成员的详细内容,请参阅返回集合中的对象。

说明

在不用对象识别符的情况下使用此属性等价于 ActiveSheet.Rows。

当应用于多选区域的Range对象时,该属性只返回该范围中第一个区域的行。例如,如果 Range 对象有两个 areas — A1:B2 和 C3:D4 — Selection.Rows.Count 返回 2 而不是 4。 要在一个可能包含多选区域的范围时,利用Areas.Count来判断该范围是否包含多个选择区域。如果是,则象第 3 个示例中所示,在该范围中的每个区域循环。

Rows 属性示例

本示例删除 Sheet1 的第三行。

Worksheets("Sheet1").Rows(3).Delete

本示例检查工作表一当前区域中的行,如果某行的第一个单元格值与前一行的第一个单元格的值相等,则删除此行。

For Each rw In Worksheets(1).Cells(1, 1).CurrentRegion.Rows
this = rw.Cells(1, 1).Value
If this = last Then rw.Delete
last = this
Next

本示例显示 Sheet1 选定区域的行数。如果是多重选定区域,本示例将对每一个子区域进行循环。

Worksheets("Sheet1").Activate
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Rows.Count & " rows."
Else
i = 1
For Each a In Selection.Areas
MsgBox "Area " & i & " of the selection contains " & _
a.Rows.Count & " rows."
i = i + 1
Next a
End If


相关推荐

音视频命令转换工具 - FFmpeg

随着自媒体兴起,许多人会自拍视频或者找视频素材裁剪,配上背景音乐或解说,加上各种特效边框,处理后再生成新的视频文件,发布到各大平台。生成的原始视频文件都很大,我们需要转换格式或者压缩大小,便于上传或者...

视频剪辑软件,如何批量将h264转换为h265格式的视频

最近有很多朋友在问,因为剪辑、或者上传的原因,需要将视频编码转换成H265格式编码,该怎么操作呢?不知道怎么办的宝贝们,下面请随小编一起来试试吧。需要哪些工具?安装一个媒体梦工厂视频素材若干怎么快速剪...

1080秒变4K,让PotPlayer开启“超分辨率”播放视频文件

大家好,我是大卫呆。1080P的视频能秒变4K视频吗?通过上期节目的实机测试,答案是:...

视频编码H.265与H.264的区别-------深入浅出说监控

我们在购买监控摄像头或者录像机产品的时候,一般情况下,经销商会问你是要H.265编码格式与H.264编码格式的,很多人都会好奇,什么是H.265和H.264?他们的实际效果有什么区别?今天就从定义和作...

H.265已落后!下一代视频技术实现重大突破

来源:快科技下一代视频技术实现重大突破。从阿里云官微获悉,阿里达摩院XG实验室参与制定的新一代国际视频编码标准H.266(VVC)出炉,同等画质下将节省近50%传输流量,清晰度越高,码率节省越多。前不...

VP9 或 H.265 的 6 个比较点

直播很复杂。广播流和通过Internet传输流的整个过程涉及一系列可以采用多种格式的方法。一个重要的组件是用于媒体文件编码和解码的编解码器。编解码器还定义了可用于进行流式传输的工具类型。大大简化流...

融合通信系统播放不了H.265视频怎么解决

在融合通信项目中,视频的融合是很多项目的落地要求,随着技术的进步,需要融合的视频也是多种多样,很多项目中需要接入视频监控,布控球,无人机,视频会议等视频资源。这些视频资源使用不同的技术,不同的传输协议...

别被忽悠了!视频编码H.265与H.264的区别有多大?看完你就懂了

相信大家都听过H.265和H.264这两种编码,也看过专业术语的解释。包括电视机都会标注支持H.265格式4K视频编码,视频监控系统也会标注支持H.265。但是还是有很多人不知道什么是视频编码H.26...

视频行业迎来巨变!H.265将被淘汰,电视及流媒体全受影响

这两天,姐夫自己遇到一个问题,从一些流媒体网站上下载来的视频,比如油管上的视频,居然无法正常在Windows10上播放,必须要重新下载一个视频编码插件才行。甚至于这些视频都无法通过现有的编辑软件去做...

对于Mybaits缓存的理解

...

你居然还去服务器上捞日志,搭个 Graylog 日志收集系统不香么

一、前言...

Java 代理从 0 到彻底搞懂

一、为什么出现代理?咱们先抛开编程,想象一下生活中的场景。假如你是一位大明星,每天都有无数的活动邀约、采访请求,还有各种商务合作的洽谈。要是你亲自去处理这些事情,那你哪还有时间去拍戏、唱歌、提升自己的...

SpringBoot系列——cache缓存

  前言  日常开发中,缓存是解决数据库压力的一种方案,通常用于频繁查询的数据,例如新闻中的热点新闻,本文记录springboot中使用cache缓存。...

Spring的缓存帝国,得益于这 5个注解!

在微服务,分布式的大环境下,缓存绝对是提升系统性能的关键手段,Spring作为Java生态中最流行的企业级应用框架,它是如何实现缓存的呢?这篇文章,我们将深入探讨Spring中5个核心的缓存注解...

JVM缓存EhCache在实际业务系统中的应用及复杂场景探讨

本文将介绍JVM缓存EhCache的基本概念、原理以及在实际业务系统中的使用。文章将重点讨论EhCache在复杂场景下的应用,并提供Java语言实现的示例。1.JVM缓存EhCache简介EhCa...