- 引用 Application 对象的 ActiveCell 属性:
' Visual Basic
rng = ThisApplication.ActiveCell
// C#
rng = ThisApplication.ActiveCell;
- 使用对象的 Range 属性可指定一个范围:
' Visual Basic
rng = ws.Range("A1")
rng = ws.Range("A1:B12")
// C#
rng = ws.get_Range("A1",Type.Missing);
rng = ws.get_Range("A1:B12",Type.Missing);
- 使用工作表的 Cells 属性可指定单个行和列的值:
' Visual Basic
' The Cells collection returns an Object.
' Convert it to a Range object explicitly.
rng = DirectCast(ws.Cells(1, 1), Excel.Range)
// C#
// The Cells collection returns an Object.
// Convert it to a Range object explicitly.
rng = (Excel.Range)ws.Cells[1,1];
- 指定一个范围的“角”;也可直接引用范围的 Cells、Rows 或 Columns 属性;这几种情况下该属性都返回一个范围:
' Visual Basic
rng = ws.Range("A1", "C5")
rng = ws.Range("A1", "C5").Cells
rng = ws.Range("A1", "C5").Rows
rng = ws.Range("A1", "C5").Columns
// C#
rng = ws.get_Range("A1", "C5");
rng = ws.get_Range("A1", "C5").Cells;
rng = ws.get_Range("A1", "C5").Rows;
rng = ws.get_Range("A1", "C5").Columns;
- 引用命名范围:
' Visual Basic
rng = ThisApplication.Range("SomeRangeName")
// C#
rng = ThisApplication.get_Range("SomeRangeName", Type.Missing);
- 引用特定的行或列或者由行和列构成的范围;请注意,这些 Rows 和 Columns 属性分别返回一个 Object,如果将 Option Strict 设置为 On,则需要进行转换:
' Visual Basic
rng = DirectCast(ws.Rows(1), Excel.Range)
rng = DirectCast(ws.Rows("1:3"), Excel.Range)
rng = DirectCast(ws.Columns("B:E"), Excel.Range)
// C#
rng = (Excel.Range)ws.Rows[1,Type.Missing];
rng = (Excel.Range)ws.Rows["1:3",Type.Missing];
rng = (Excel.Range)ws.Columns["B:E",Type.Missing];
- 使用 Application 对象的 Selection 属性返回与选定的单元格相对应的范围:
' Visual Basic
System.Diagnostics.Debug.WriteLine(ThisApplication.Selection.Address)
// C#
System.Diagnostics.Debug.WriteLine(((Excel.Range)
ThisApplication.Selection).get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
- 创建一个包含两个范围的并集的范围(在引号中指定这两个范围,之间以逗号分隔):
' Visual Basic
rng = ThisApplication.Range("A1:D4, F2:G5")
' You can also use the Application object's Union
' method to retrieve the intersection of two ranges:
rng1 = ThisApplication.Range("A1:D4")
rng2 = ThisApplication.Range("F2:G5")
rng = ThisApplication.Union(rng1, rng2)
// C#
rng = ThisApplication.get_Range("A1:D4","F2:G5");
// You can also use the Application object's Union
// method to retreive the intersection of two ranges:
rng1 = ThisApplication.get_Range("A1","D4");
rng2 = ThisApplication.get_Range("F2","G5");
rng = ThisApplication.Union(rng1, rng2, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
- 创建一个表示两个范围的交集的范围(在引号中指定这两个范围,之间以逗号分隔):
' Visual Basic
rng = ThisApplication.Range("A1:D16 B2:F14")
' You can also use the Application object's Intersect
' method to retrieve the intersection of two ranges:
rng1 = ThisApplication.Range("A1:D16")
rng2 = ThisApplication.Range("B2:F14")
rng = ThisApplication.Intersect(rng1, rng2)
// C#
rng = ThisApplication.get_Range("A1:D16","B2:F14");
// You can also use the Application object's Intersect
// method to retrieve the intersection of two ranges:
rng1 = ThisApplication.get_Range("A1","D16");
rng2 = ThisApplication.get_Range("B2","F14");
rng = ThisApplication.Intersect(rng1, rng2, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
- 使用范围的 Offset 属性可检索相对于原始范围的范围;以下实例将内容添加到位于第 1 行第 1 列的单元格下方的范围:
' Visual Basic
rng = DirectCast(ws.Cells(1, 1), Excel.Range)
Dim i As Integer
For i = 1 To 5
rng.Offset(i, 0).Value = i.ToString
Next
// C#
rng = (Excel.Range)ws.Cells[1,1];
for(int i = 1; i <= 5; i++)
rng.get_Offset(i,0).Value2 = i.ToString();
- 使用范围的 CurrentRegion 属性可检索代表当前区域的范围,当前区域指的是由最近的空行和空列所界定的区域:
' Visual Basic
System.Diagnostics.Debug.WriteLine( _
ThisApplication.Range("C3").CurrentRegion.Address())
// C#
System.Diagnostics.Debug.WriteLine(ThisApplication.get_Range(
"C3", Type.Missing).CurrentRegion.get_Address(
Type.Missing, Type.Missing,
Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing));
- 使用范围的 Areas 属性可检索一组范围,每个范围对应于该范围内容中的一个区域:以下代码要求工作表中有一个名为“rangeTest”的范围:
' Visual Basic
rng = ThisApplication.Range("rangeTest")
Dim i As Integer
For i = 1 To rng.Areas.Count
System.Diagnostics.Debug.WriteLine(rng.Areas(i).Address)
Next
// C#
rng = ThisApplication.get_Range("rangeTest",Type.Missing);
for(int i = 1; i <= rng.Areas.Count; i++)
System.Diagnostics.Debug.WriteLine(
rng.Areas[i].get_Address(Type.Missing,
Type.Missing, Excel.XlReferenceStyle.xlA1, Type.Missing,
Type.Missing));
-
使用 End 属性以及 XlDirection 枚举中的值 (xlUp、xlToRight、xlToLeft、xlDown),可检索代表该区域末尾处的单元格的范围(如同按下了枚举值所描述的键一样):
' Visual Studio
With ThisApplication.Selection
System.Diagnostics.Debug.WriteLine(.End(
Excel.XlDirection.xlToRight).Address)
System.Diagnostics.Debug.WriteLine(.End(
Excel.XlDirection.xlToLeft).Address)
System.Diagnostics.Debug.WriteLine(.End(
Excel.XlDirection.xlUp).Address)
System.Diagnostics.Debug.WriteLine(.End(
Excel.XlDirection.xlDown).Address)
End With
// C#
rng = (Excel.Range)ThisApplication.Selection;
System.Diagnostics.Debug.WriteLine(rng.get_End(
Excel.XlDirection.xlToRight).get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
System.Diagnostics.Debug.WriteLine(rng.get_End(
Excel.XlDirection.xlToLeft).get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
System.Diagnostics.Debug.WriteLine(rng.get_End(
Excel.XlDirection.xlUp).get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
System.Diagnostics.Debug.WriteLine(rng.get_End(
Excel.XlDirection.xlDown).get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
- 使用 EntireRow 或 EntireColumn 属性引用包含指定范围的行或列。以下代码要求工作表中有一个名为“rangeTest”的范围:
' Visual Basic
rng = ThisApplication.Range("rangeTest")
System.Diagnostics.Debug.WriteLine(rng.Areas(2).EntireRow.Address)
// C#
rng = ThisApplication.get_Range("rangeTest",Type.Missing);
System.Diagnostics.Debug.WriteLine(rng.Areas[2].EntireRow.get_Address(
Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1,
Type.Missing, Type.Missing));
相关推荐
【返回首页】:配合建立工作表目录工具使用,可以在任何工作表中瞬间返回第一个工作表 【工作簿标签】:将当前开启的工作簿创建一个方便切换标签,置于工作表上方。可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单...
【返回首页】:配合建立工作表目录工具使用,可以在任何工作表中瞬间返回第一个工作表 【工作簿标签】:将当前开启的工作簿创建一个方便切换标签,置于工作表上方。可通过Ctrl+Shift+T切换显示状态,可以通过右键...
04072引用工作表中任意对象左上角、右下角的单元格 04073引用输入了数组公式的所有单元格区域 04074引用输入了某数组公式的单元格区域 04075引用输入了某个函数的全部单元格 04076引用含有特定文本字符串的所有...
【返回首页】:配合建立工作表目录工具使用,可以在任何工作表中瞬间返回第一个工作表 【工作簿标签】:将当前开启的工作簿创建一个方便切换标签,置于工作表上方。可通过Ctrl+Shift+T切换显示状态,可以通过右键菜单...
Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习Oracle为提升语言效率而加入的支持特性,进而将两者综合考虑并在工作中加以应用。作者通过总结各自多年的软件开发和教学培训经验,与大家...
【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题的行数以及相隔行数、插入行数等。并...
【返回首页】配合“建立工作表目录”工具使用,可以在任何工作表中瞬间返回第一个工作表 Excel百宝箱 26个函数功能介绍如下: 函数名称功能介绍 sumifcol按颜色进行条件求和。有三个区域引用参数,其中第三参数...
【隔行插入】 在当前工作表中允许从M行到N行,隔X行插入Y行,并允许是否需复制标题Z行。 【制作工资条】 瞬间将工资明细表生成工资条,方便打印并裁剪。可以自己定义工资条标题的行数以及相隔行数、插入行数等。并...
11.6.2 在空白报表工作表上创建摘要 235 11.6.3 填充大纲视图 235 11.6.4 处理最终格式 236 11.6.5 添加分类汇总 237 11.6.6 将所有步骤汇总 238 11.7 处理两个以上数据字段的问题 241 11.7.1 计算数据...
值范围: Oracle8i National Language Support Guide 中指定的任何有效的10 字节字符串。 默认值: BINARY nls_currency: 说明: 为 L 数字格式元素指定用作本地货币符号的字符串。该参数的默认值由 NLS_TERRITORY ...
在个人实践中,Ivor Horton也是一名系统顾问。他从事程序设计教学工作已经超过了25年。 苏正泉,1995年毕业于解放军信息工程学院计算机及应用专业,高级工程师。在IT项目管理、软件开发、系统管理和网络管理方面都...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
函数作用:在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和..........................59 '35.函数作用:返回 Column 英文字.......................60 '36.函数作用:查找指定列名的列数.......
来直接选择需要输入相同内容的多个工作表,接着在其中的任意一个工作表中输入这些相同的数据,此时这些数据会自动出现在选中的其它工作表之中。输入完毕之后,再次按下键盘上的Ctrl键,然后使用鼠标左键单击所选择的...
8.8.3 在引用类中重载运算符 435 8.9 小结 437 8.10 练习 438 第9章 类继承和虚函数 440 9.1 面向对象编程的基本思想 440 9.2 类的继承 441 9.2.1 基类的概念 442 9.2.2 基类的派生类 442 9.3 继承...
数据融合matlab代码执照 Elisabetta Sauta的2020年版权法 “用于学习全基因组转录调控网络的基于贝叶斯数据融合的方法”是免费软件:您可以根据自由软件基金会发布的...如果您在研究工作中使用此代码,请引用: Sauta,
11.6.2 在空白报表工作表上创建摘要 235 11.6.3 填充大纲视图 235 11.6.4 处理最终格式 236 11.6.5 添加分类汇总 237 11.6.6 将所有步骤汇总 238 11.7 处理两个以上数据字段的问题 241 11.7.1 计算数据...
34.在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和 35.返回 Column 英文字 36.查找指定列名的列数 37.文字格式的时间(分:秒)转化为数字格式(秒) 38.将"hh:mm:ss"格式的时分秒数转换成秒数...
11.6.2 在空白报表工作表上创建摘要 235 11.6.3 填充大纲视图 235 11.6.4 处理最终格式 236 11.6.5 添加分类汇总 237 11.6.6 将所有步骤汇总 238 11.7 处理两个以上数据字段的问题 241 11.7.1 计算数据...