辐射4基地全炮塔属性详解-Range对象应用大全(3)—CurrentRegion属性详解

一 : Range对象应用大全(3)—CurrentRegion属性详解

CurrentRegion属性代表什么

您可能经常在程序代码中看到CurrentRegion属性,它是一个非常有用的属性,返回活动单元格所在的周围由空行和空列组成的单元格区域(即通常所说的当前区域),如图1所示。

图1

具体地说,当前区域即活动单元格所在的矩形区域,该矩形区域的每一行和每一列中至少包含有一个数据,其周围是空行和空列,图1中列举了其中的4种情形(见蓝色阴影区域)。在当前区域范围内,不管活动单元格是哪一个单元格,其所在的当前区域均为同一区域,如上例中的B5:D7区域,活动单元格B5的当前区域为B5:D7,当活动单元格为C6时,其当前区域仍为B5:D7。

使用CurrentRegion属性相当于在Excel工作表中选择菜单“编辑——定位”命令,在弹出的“定位”对话框中单击“定位条件”按钮,然后在“定位条件”对话框中选中“当前区域”选项按钮,或者相当于使用Ctrl+Shift+*组合键。

CurrentRegion属性的一些基本应用

CurrentRegion属性可用于很多操作,下面通过如图2所示的工作表示例讲解该属性的应用。

图2

(1)返回指定(或活动)单元格所在区域中标题行的行数

Worksheets("sheet1").Range("H2").Value = _ Worksheets("sheet1").Range("A1").CurrentRegion.ListHeaderRows

上述代码在示例工作表中运行后,将返回“1”,即单元格A1所在区域的标题行的行数为1。

(2)返回指定(或活动)单元格所在区域的行数

Worksheets("sheet1").Range("H3").Value = _ Worksheets("sheet1").Range("A1").Count

上述代码在示例工作表中运行后,将返回“11”,即单元格A1所在区域的行数为11。

(3)返回指定(或活动)单元格所在区域的列数

Worksheets("sheet1").Range("H4").Value = _ Worksheets("sheet1").Range("A1").Count

上述代码在示例工作表中运行后,将返回“4”,即单元格A1所在区域的列数为4。

(4)返回指定(或活动)单元格所在区域的单元格数

Worksheets("sheet1").Range("H5").Value = _ Worksheets("sheet1").Range("A1").Count

上述代码在示例工作表中运行后,将返回“44”,即单元格A1所在区域的单元格数为44。

(5)在指定(或活动)单元格所在区域中选取除标题行以外的数据区域

Worksheets("sheet1").Range("A1")( _ Worksheets("sheet1").Range("A1").Count - Worksheets("sheet1"). _ Range("A1").CurrentRegion.ListHeaderRows, Worksheets("sheet1").Range("A1").CurrentRegion. _ .Offset(1, 0).Select

上述代码在示例工作表中运行后,将选取单元格A1所在区域中除标题行外的数据区域,即单元格区域A2:D11。

下面,将上述代码综合成一个完整的示例以演示CurrentRegion属性的一些用法。程序代码如下:

Sub testCurrentRegion() Dim rng As Range, ws As Worksheet Set ws = ActiveWorkbook.Worksheets("sheet1") Set rng = ws.Range("A1").CurrentRegion ws.Range("G2") = "当前区域标题行数" ws.Range("H2").Value = rng.ListHeaderRows ws.Range("G3") = "当前区域的行数" ws.Range("H3").Value = .Range("G4") = "当前区域的列数" ws.Range("H4").Value = .Range("G5").Value = "当前区域的单元格数" ws.Range("H5").Value = .Columns("G:G").EntireColumn.AutoFit MsgBox "选取当前区域中除标题行以外的区域" - rng.ListHeaderRows, .Offset(1, 0).Select End Sub

运行后的结果如下图3所示,示例文档见:

图3

(6)复制当前区域的数据到另一位置

Sub CopyCurrentRegion() Sheets("sheet1").Range("A1")("sheet2").Range("A1") End Sub

上述代码将工作表Sheet1中单元格A1所在的区域复制到工作表sheet2中以单元格A1开始的单元格区域中。

(7)格式化当前区域中的数据

Sub FormatCurrentRegion() With ActiveCell.CurrentRegion .Font.Bold = True = 3 End With End Sub

上述代码将工作表中活动单元格所在区域数据加粗且设置为红色。

(8)在当前区域中自动套用格式

Sub testAutoFormatCurrentRegion() Worksheets("sheet1").Range("A1").CurrentRegion.AutoFormat End Sub

上述代码将在工作表sheet1中单元格A1所在区域自动套用默认的格式,当然,您可以设置所需套用的格式,默认值为xlRangeAutoFormatClassic1。

一些示例

[示例1]在当前区域中查找空白单元格并填充

如下图4所示的工作表,现在要使用空白单元格上方的有数据的单元格中的数据来填充空白单元格。

图4

可以编写如下的代码:

Sub FillBlankCells() Worksheets("sheet1").Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C" Worksheets("sheet1").Range("A1").CurrentRegion.Value = Worksheets("sheet1").Range("A1").CurrentRegion.Value End Sub

运行代码后,工作表中单元格A1所在区域中的空白单元格被相应数据填充,如图5所示。

图5

示例下载:

[示例2] 一个排序的简单示例

如图6所示的工作表,现在对第3列进行排序,按降序排列。

图6

编写的代码如下:

Sub testSort() Dim rng As Range Set rng = Worksheets("sheet1").Cells(1, 1).CurrentRegion rng.Sort Key1:=(1, 3), Order1:=xlDescending, Header:=xlYes End Sub

运行代码后,工作表中的数据将按照第3列的数据从大到小进行排列,如图7所示。

图7

示例下载:

小结

1、CurrentRegion属性的基本语法为:

<单元格对象>.CurrentRegion

2、可以先使用CurrentRegion属性返回指定单元格或者活动单元格所在的区域,然后使用其它的属性对该区域的数据进行操作。

(www.loach.net.cn)

二 : VB控件大全属性详解 组合框

VisualBasic自学教材(常用控件的属性)——1.08、组合框(ComboBox)控件的常用属性

作者:杜 勇

三 : VB控件大全属性详解 组合框

VisualBasic自学教材(常用控件的属性)——1.08、组合框(ComboBox)控件的常用属性

作者:杜 勇

ime组合 VB控件大全属性详解 组合框

ime组合 VB控件大全属性详解 组合框

扩展:vb控件大全属性详解 / vb控件大全使用详解 / 组合框控件函数详解

四 : 《环世界》炮塔伤害属性查看方法

环世界炮塔伤害属性怎么查看?很多完玩家不知道方法,下面小编给大家带来了环世界炮塔伤害属性查看方法,一起来看下伤害属性的具体查看方法吧。

炮塔伤害属性查看小窍门:

1、首先把炮塔造出来,然后点炮塔界面右上角的感叹。

2、还有一种比较简单的方法就是直接看文件。

比如无人机枪:

RimWorldModsCoreDefsThingDefs_BuildingsBuildings_Security.xml打开

搜索Gun_TurretImprovised应该就是。

Bullet_TurretImprovised 就是它的武器

11就是武器伤害

70就是子弹速度

25.9就是射程等等

所有数据都可以通过查看文件的形式得到。

 

下页更精彩: 1 2 3
上一篇: 苹果升级ios7教程-苹果5升级ios7教程 六个步骤包你学会 下一篇: 一提人都认识-打窝认识是前提(转帖)

优秀文章