VBA之Excel应用第四章第八节:单元格区域的Offset属性(vba then)

VBA之Excel应用》(版权©️10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是:VBA之Excel应用第四章第八节:单元格区域的Offset属性

【分享成果,随喜正能量】285人到中年,最大的无奈,就是家境撑不起梦想,能力配不上野心。感情抵不过命运,回报对不起辛苦。时间都在催我挣钱,年龄却在催我老去,在这个不知所措的年纪,我们做什么都是身不由己。时间让我们长大了年龄,却没有让我成为一个合格的大人。

第四章 单元格(Range)对象

大家好,我们这章开始学习单元格对象。单元格(Range)对象是Excel VBA中最重要的对象之一。本章概述了Range对象的属性和方法,包括如何声明一个单元格对象,如何选择单元格对象,以及对行、列的操作,还讲解了如何对单元格进行复制、粘贴、清除、计数,以及对当前区域CurrentRegion的讲解,还涉及到单元格的联合与交叉等。通过这章的学习,大家会更清楚地看到VBA的结构,以及在实际工作中VBA的综合利用。

第八节 单元格区域的Offset属性

大家好,我们继续单元格的学习,这讲我们讲解的内容是单元格的Offset属性,对于这个属性和之前讲解的Resize属性有一定的类似之处,但有着本质的不同,大家可以两者对比学习。

1 Range.Offset属性

这个属性返回一个 Range对象,它表示指定区域以外的一个区域。

语法: expression.Offset (RowOffset, ColumnOffset)

其中expression 为一个表示 Range 对象的变量。

参数

① RowOffset 可选 Variant数据 区域偏移的行数—正值、负值或零(0)—正值表示向下偏移,负值表示向上偏移。 默认值为 0。

② ColumnOffset可选Variant数据 区域偏移的列数—正值、负值或零(0)—正值表示向右偏移,负值表示向左偏移。 默认值为 0。

2 Range.Offset属性的示例

1)示例1:此示例激活 Sheet1 上活动单元格右移三列且下移三行的单元格。

Worksheets("Sheet1").Activate

ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

2)示例2:假定 Sheet1 包含具有标题行的表。此示例选择该表,但不选择标题行。在运行此示例之前,活动单元格必须位于表内。

Set tbl = ActiveCell.CurrentRegion

tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select

3)选择单元格 D1的代码

Range("A1").Offset(, 3).Select

4)选择单元格 A5的代码

Range("A1").Offset(4).Select

  • 如果 RowOffset 或 ColumnOffset 为 0(零),则可将其忽略。
3 Range.Offset语句的应用实例

从上面的讲解中,我们看到Excel VBA中的Offset属性可以将特定数量的行和列从特定的范围移开。

我们看一个实际的应用实例:在工作薄的“Sheet8”工作表中,先选择一个单元格范围"A1:C2",并用一个变量来表示这个变量;然后将这个范围移动,移动的方向是这个范围向下移动3行,向右2列。

下面先看代码:

Sub mynzO() 'Range.Offset语句的应用实例

Dim myRange As Range

Sheets("SHEET8").Select

Set myRange = Range("A1:C2")

myRange.Select

myRange.Offset(3, 2).Select

End Sub

代码截图:

代码的讲解:

1)Sheets("SHEET8").Select

以上代码选择"SHEET8"工作表

2) Set myRange = Range("A1:C2")

以上代码将单元格区域赋给变量myRange,讲对象变量赋给变量的时候要用SET。

3) myRange.Select

以上代码将选择单元格区域。

4)myRange.Offset(3, 2).Select

以上代码将单元格的区域进行移动,移动的方向是这个范围向下移动3行,向右2列。

下面看代码的运行结果:

1)为了更好地显示代码的运行,我们在图中所示的位置点上断点,表示代码执行到这里将停止执行:

2)点击运行:

3)这个时候代码会运行到断点行,这行代码也会显示黄色。这个时候我们看工作表的界面:

4)我们在VBE窗口去掉代码的断点,点击VBE窗口的运行按钮:

5)回到工作表界面,这个时候,单元格区域放生了移动。

  • Offset属性始终以范围的左上角单元格为起点。

今日内容回向:

1) 单元格的Offset属性意义是什么,有什么作用?

2) 单元格的Offset属性对单元格移动时以哪个位置为定位?

3) 如何调试代码,增加断点?

本讲内容参考程序文件:工作簿04.xlsm

我20多年的VBA成果全在下面的资料中:

特别声明:[VBA之Excel应用第四章第八节:单元格区域的Offset属性(vba then)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

厘清边界:物联网卡与人联网SIM卡的差异及行业适配逻辑(物联网边缘计算架构)

FIFISIM物联作为运营商一级代理商,基于对两类卡片特性的深刻理解,可为企业提供物联网卡定制化方案,从选型、套餐设计到运维管理,全程保障合规与稳定,规避混淆使用带来的风险。选型核心在于精准匹配需求:企业物…

厘清边界:物联网卡与人联网SIM卡的差异及行业适配逻辑(物联网边缘计算架构)

膝关节疼痛😣会是痛😣风吗

膝关节疼痛可能是痛风的表现之一,但也可能由其他原因引起。痛风通常表现为突发性关节红肿热痛,常见于第一跖趾关节,但膝关节也可能受累。引起膝关节疼痛的原因主要有骨关节炎、半月板损伤、韧带损伤、类风湿关节炎以及痛风性关节炎等

膝关节疼痛😣会是痛😣风吗

『张予曦』生日照惹争议?这3个细节告诉你什么叫“真奢侈”(『张予曦』出生时间)

你看她那些堪称“颜值封神”的造型,无论是民国风的粉色旗袍,还是新中式大片里的暗红丝绒裙,都美得无可挑剔,但总隔着一层精致的玻璃罩子。 在这个连放松都要被精心策划展示的时代,敢于把最松弛、最私密的状态当成生日纪…

『张予曦』生日照惹争议?这3个细节告诉你什么叫“真奢侈”(『张予曦』出生时间)

【2026.1.28】王玉雯哪部戏上来的?『杨洋』签了凡人三季?王心凌和吴克群在一起了?『周翊然』私底下人咋样?北影国际班是什么存在?(王玉资料)

假的,第二季还没签呢,不过平台那边一直都在跟进第二部,也跟『杨洋』那边聊了很多,包括会吸取他的意见,比如人物跟原著或者动画方面有哪些地方需要改动等等,第二季的剧本还在创作中,没那么快2 爆姐爆姐,想问问王心凌…

【2026.1.28】王玉雯哪部戏上来的?『杨洋』签了凡人三季?王心凌和吴克群在一起了?『周翊然』私底下人咋样?北影国际班是什么存在?(王玉资料)

『刘晓庆』回应“8个男友”传闻 幽默化解情感谣言

75岁的『刘晓庆』在最新综艺《主咖和Ta的朋友们》中再次语出惊人,对流传已久的“八个男友”传闻毫不避讳地回应,引发现场一阵笑声,也在网络上引起热议

『刘晓庆』回应“8个男友”传闻 幽默化解情感谣言