原文:Excel的Range对象(C#)

  1. Range 对象是 Excel 应用程序中最经常使用的对象;在操作 Excel 内的任何区域之前,都需要将其表示为一个 Range 对象,然后使用该 Range 对象的方法和属性。一个 Range 对象代表一个单元格、一行、一列、包含一个或者更多单元块(可以是连续的单元格,也可以式不连续的单元格)的选定单元格,甚至是多个工作表上的一组单元格。
  2.  
  3. 在代码中引用范围。
  4.  
  5. Address 属性:这个属性返回范围坐标的字符串,坐标以下面几种格式之一表示,包括:“$A$”(单元格在位置 A1)、“$”(在工作表的第一行)和“$A$:$C$”(范围包括介于 A1 C5 之间矩形内的所有单元格)。“$”表示绝对坐标(而非相对坐标)。
  6.  
  7. Excel.Worksheet ws = (Excel.Worksheet)ThisWorkbook.Worksheets[];
  8. Excel.Range rng;
  9. rng = ThisApplication.ActiveCell;
  10. rng = ws.get_Range("A1", Type.Missing);//使用对象的 Range 属性指定一个区域
  11. rng = ws.get_Range("A1:B12", Type.Missing);//使用对象的 Range 属性指定一个区域
  12. rng = (Excel.Range)ws.Cells[, ];//使用工作表的 Cells 属性,指定单个行和列值
  13. rng = ThisApplication.Range("SomeRangeName", Type.Missing);//引用一个命名范围
  14.  
  15. rng = ws.Range("A1", "C5")//直接引用范围的 Cells、Rows 或 Columns 属性,作用相同
  16. rng = ws.Range("A1", "C5").Cells
  17. rng = ws.Range("A1", "C5").Rows
  18. rng = ws.Range("A1", "C5").Columns
  19.  
  20. rng = (Excel.Range)ws.Rows[, Type.Missing];//引用特定行或特定列或行和列的范围
  21. rng = (Excel.Range)ws.Rows["1:3", Type.Missing];
  22. rng = (Excel.Range)ws.Columns[, Type.Missing];
  23.  
  24. //Application 对象的 Selection 属性返回与选定单元格对应的范围
  25. rng = (Excel.Range)ThisApplication.Selection;
  26.  
  27. //创建一个包含其他两个合并范围的范围(在引号内指定两个范围,并用逗号隔开)
  28. rng = ThisApplication.get_Range("A1:D4, F2:G5", Type.Missing);//与后三行效果相同
  29. rng1 = ThisApplication.get_Range("A1", "D4");
  30. rng2 = ThisApplication.get_Range("F2", "G5");
  31. rng = ThisApplication.Union(rng1, rng2, Type.Missing, Type.Missing, ……);
  32.  
  33. //创建一个引用其他两个范围重叠部分的范围(在引号内指定两个范围,并不使用分隔符)
  34. rng = ThisApplication.get_Range("A1:D16 B2:F14", Type.Missing);//与后三行效果相同
  35. rng1 = ThisApplication.get_Range("A1", "D16");
  36. rng2 = ThisApplication.get_Range("B2", "F14");
  37. rng = ThisApplication.Intersect(rng1, rng2,Type.Missing, Type.Missing, Type.Missing, Type.Missing,……);
  38.  
  39. //使用范围的 Offset 属性取得相对于初始范围的一个偏移
  40. rng = (Excel.Range) ws.Cells[, ];
  41. for (int i = ; i <= ; i++)
  42. {
  43. rng.get_Offset(i, ).Value2 = i.ToString();
  44. }
  45.  
  46. //使用范围的 CurrentRegion 属性取得一个代表当前区域的范围,这个当前区域由最近的空行和列限定,即连接在一起的单元格
  47. ThisApplication.get_Range("C3", Type.Missing).CurrentRegion.Font.Bold = true;
  48.  
  49. //使用范围的 Areas 属性取得范围集合,其中每个范围对应于范围内容的一个区域
  50.  
  51. rng = ThisApplication.get_Range("Test", Type.Missing);
  52. for (int i = ; i <= rng.Areas.Count; i++)
  53. {
  54. MessageBox.Show(
  55. rng.Areas[i].get_Address(Type.Missing, Type.Missing,
  56. Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing));
  57. }
  58. //使用 End 属性,以及一个 XlDirection 枚举值(xlUp、xlToRight、xlToLeft、xlDown)来取得一个代表区域末端单元格的范围(即四个方向上离该选中范围最远的单元格)
  59. Excel.Range rngLeft, rngRight, rngUp, rngDown;
  60. rng = (Excel.Range) ThisApplication.Selection;
  61. rngRight = rng.get_End(Excel.XlDirection.xlToRight);
  62. rngLeft = rng.get_End(Excel.XlDirection.xlToLeft);
  63. rngUp = rng.get_End(Excel.XlDirection.xlUp);
  64. rngDown = rng.get_End(Excel.XlDirection.xlDown);
  65.  
  66. //使用 EntireRow 或 EntireColumn 属性引用包含特定范围的行或列
  67. rng = ThisApplication.get_Range("Test", Type.Missing);
  68. rng.Areas[].EntireRow.Font.Bold = true;
  69.  
  70. 在代码中操作范围。
  71.  
  72. 自动填充:AutoFill
  73. 查找:Find
  74. 排序:Sort
  75. Cells 获取一个 Range 对象,该对象表示工作表上的所有单元格(不仅仅是当前正在使用的单元格)。
  76. Cells[行,列]
  77.  
  78. Columns 获取一个表示工作表上的所有列的 Range 对象
  79. Rows 获取一个表示工作表上的所有行的 Range 对象

Excel的Range对象(C#)的更多相关文章

  1. Excel VBA Range对象基本操作应用示例

    [示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value = 22Ms ...

  2. 8 Range 对象

    8.1 引用Range 引用Range的主要方法: Application.ActiveCell Application.Range Application.Selection Worksheet.C ...

  3. VB默认属性、动态数组、Range对象的默认属性的一点不成熟的想法

    1.默认属性 VB6.0有默认属性的特性.当没有给对象指定具体的属性时,"默认属性"是VB6.0将使用的属性.在某些情形下,省略常用属性名,使代码更为精简. 因为CommandBu ...

  4. VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

  5. html5学习笔记5--API Range对象(二)

    Range对象之cloneRange和cloneContents 代码效果如下 首次点击“选择内容“按钮提示如下 接着会显示 最后显示 以下为整个代码 <!DOCTYPE html> &l ...

  6. html5学习笔记4--API Range对象(一)

    Range对象基本用法 效果图如下(在谷歌浏览器下的展示)

  7. getSelection、range 对象属性,方法理解,解释

    网上转了一圈发现没有selection方面的解释,自己捣鼓下 以这段文字为例子.. <p><b>法国国营铁路公司(SNCF)20日承认,</b>新订购的2000列火 ...

  8. Range对象理解,浏览器兼容性,获取鼠标光标位置

    一.关于浏览器的兼容性 目前主要有3种关于range的类似的对象,分别是W3C range 对象,Mozzlia selection ,ie TextRange 关于这三种的区别,请查看文档 http ...

  9. HTML5中的Range对象的研究

    一:Range对象的概念 Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的Range对象,如下: var  range = docu ...

随机推荐

  1. Android中蓝牙的基本使用----BluetoothAdapter类简介

    天气逐渐热了,自己也越来越懒了,虽然看着了很多东西,解决了很多问题,有些收获却不想写着.主要有一下两方面原因: 第一.以前写的一些关于Android知识的Blog,都是在学习过程中发现网络上没有相关知 ...

  2. Codeforces Round #443 (Div. 2) C: Short Program - 位运算

    传送门 题目大意: 输入给出一串位运算,输出一个步数小于等于5的方案,正确即可,不唯一. 题目分析: 英文题的理解真的是各种误差,从头到尾都以为解是唯一的. 根据位运算的性质可以知道: 一连串的位运算 ...

  3. oracle中imp导入数据中文乱码问题(转)

    (转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后, ...

  4. UIPasteboard粘贴板:UIMenuController自定义(三)

    这篇咱总结总结自定义剪贴板的使用 其实自定义剪贴板也非常简单,无非是放开响应时间,通过UIMenuController自定义剪贴板,然后就是最关键的实现你所用的copy方法拉. 为了方便实用,我给ce ...

  5. 【14.94%】【codeforces 611E】New Year and Three Musketeers

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  6. 【20.19%】【codeforces 629D】Babaei and Birthday Cake

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  7. IT企业级应?开发模式演化

    原文:IT企业级应?开发模式演化 前端研发流程 传统To B类系统的研发模式 探索 & 思考设计模式库(DPL)设计语⾔设计语⾔详解基于MVVM模式的Web框架 & UI库优化后的开发 ...

  8. Linux命令list

    文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回 ...

  9. cordova打包之android应用签名

    原文:cordova打包之android应用签名 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mate_ge/article/details/78 ...

  10. [Example of Sklearn] - Example

    reference : http://my.oschina.net/u/175377/blog/84420 目录[-] Scikit Learn: 在python中机器学习 载入示例数据 一个改变数据 ...