ExcelVBA常用代码VSTO版_第1页
ExcelVBA常用代码VSTO版_第2页
ExcelVBA常用代码VSTO版_第3页
ExcelVBA常用代码VSTO版_第4页
ExcelVBA常用代码VSTO版_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Excel VBA 常用代码 VSTO 版(C#)1- 1使用Range属性”A3:F6, B1:C5M.SelectO;1-2使用Cells属性for(int icell=l:icellstring FindAddress =;Rng = A:A;string strFind =;if 0 !=rng = (strFind, false): if (rng != null)FindAddress =;dorng=(rng);while(rng != null &!= FindAddress):5- 2使用Like运算符C#中没有Like运算符,可以用正则表达式来处理.6- 1替换单元格内字符

2、串wAl:A5w.Replace(w 通州,南通);7- 1复制单元格区域=false;Al. Al);=true;7-2复制单元格区域时带列宽大小 A1. 0;rng = Al;=使用选择性粘贴A1. 0;rng = Al;=直接赋值的方法rng = Al;Rng = ,rAlCurrentRegion;9- 1单元格自动进入编辑状态先在” VSTO设计器生成的代码”内加入 +二 new (工作表 1 SelectionChange):然后在事件代码中输入if = 3 & = 1)if =wF2tt);10- 1禁用单元格拖放功能if A1:A15) != null)=false; else

3、=true;11- 1单元格字体格式设置 rng = Al”. Font; 宋体; =,rBold,r;=18;=3;=2;11- 2设置单元格内部格式 rng = Al” Interior; =3;= =6;11- 3为单元格区域添加边框rng = ,rB4:G10rJ. Borders;=5;col = 5;B4:G1O. BorderAround2为单元格区域应用多种边框格式col = 5;=col;rng = B4:G1O. Borders Rng = B4:G10. Borders =col;丨B4:G10. BorderAround2 col);11- 4靈活設置單元格的行髙列寬r

4、ngl = Al;rng2 = Bl;=單元格中建立數據有效性rng = Al:A10;T,2,3,4,5,6,7,8);12- 2判斷單元格是否存在數據有效性tryif A12. = 0)(單元格中有數據有效性!);catch(單元格中沒有數據有效性!); 12- 3動態的數據有效性void 工作表 1 Selecti on Cha nge Target) if = 1 & = 1 & 1)主機,顯示器);12- 4自動展開數據有效性下拉列表% downw);13- 1在單元格中寫入公式【C1:C1O|. Formula=,=sum (Al, Bl);13- 1寫入單元格區域數組公式IC1F

5、ormulaArray =二Al:A2*B1:B2;13- 2檢查單元格是否含有公式rng = if )(公式區域為:+ 23). Address0, 0);else if(全部單元格為公式!);else(全部單元格不為公式!);注:因為HasFormula返回的是一個dynamic類型的值,C#的swith貌似并不支持.13-3判斷單元格公式是否存在錯誤未研究出來,如何調用,用了 Excel自帶函數來處理的.rng = AlOffset0, 1:=,=iserror (Al),r;ifCAI單元格錯誤類型為:” + Al.Text); else(Al 單元格結果為:+ Al”. Text);

6、13-4取得單元格中公式的引用單元格 rng = ClPrecedents; (公式所引用的單元格有:+;13- 5將單元格中的公式轉換為數值rng = C1:C1O; =二sum(Al:Bl);=;14- 1判斷單元格是否存在指注if AlComment = null)(Al單元格中沒有批注”);elseCA1單元格中批注內容為:” + ”n” + ”A1”.(); 14- 2為單元格添加批注rng = Al;if = null)=true;14- 3刪除單元格中的批注rng = Al;if != null)15- 1判斷單元格區域是否存在合并單元格rng = if )區域中包含合并單元格)

7、;else if(區域中全部為合并單元格!);else(區域中沒有合并單元格!);15- 2合并單元格時連接每個單元格的文本 rng = string s =;foreach Rng in rng)s = s + ;=false;0;=S;=true;15- 3合并內容相同的連續單元格int rEnd = A65535.End = false;for (int i = rEnd; i = 2; i)rng = i, 1;if = T, 01. Value)T, 0). Merge():15-4取消合并單元格時在每個單元格中保留內容 int rEnd = A65535. End int m =

8、rEnd, 1.; Cellsl, 1, CellsrEnd, 1. UnMerge();=false;for (int i = 1; i rEnd+m; i+) rng = i, 11;if 1, 0|. Text =1, 0. Value =;16- 1髙亮顯示單元格區域rng = 8;17- 1雙擊被保護單元格時不顯示提示消息框 if(此單元格已保護,不能編輯);Cancel = true;18- 1重新計算工作表指定區域 oldCalcultion = = ,rAl: D10r . Calculate (): =oldCalcultion;19- 1錄入數據后單元格自動保護 if(T2

9、3456);if !=true;(T23456);20- 1使用單元格的Address屬性 if 0,0=ttAln)(”你選擇了 Al單元格J; 20- 2使用Column屬性和Row屬性int i=0;if = 1 & 11 & ,out i)0, 1. Value = i * 3;203 使用 Intersect 方法rng =Al:A10, ,Cl:C10r);if (rng != null)(你選擇了 + 0, 0 + 單元格);21- 1使用工作表的名称工作表 2. ActivateO ;21-2使用工作的索引号使用工作表的代码名称21-4用ActiveSheet属性引用活动工作表

10、 (选择工作表的方法23- 1使用For遍历工作表int wkCount =string s =;for (int i = 1; i = wkCount; i+)(工作簿中含有以下工作表:+ 十+ S);23- 2使用ForEach语句string s =;foreach wk in s = s + n;(工作簿中含有以下工作表:+ “n + s);24- 1在工作表中向下翻页shs= wkThis = wkNext;int wkindex =;int wkCount =;if (wkIndex wkCount)wkNext =;0;25- 1工作表的添加与删除wksThis = wsAdd

11、= wksThis): 二数据;25-1批量添加工作表wksThis = wksNew = null;if = 3)for (int i = 1; i = 10; i+)wksNew = wksThis);二”第+ () + ”个工作表J26- 1禁止删除指定工作表cmdCtl =可以找到删除按钮,但是无法禁止,也无法加载单击事件,非常奇怪.而且在0ffice 2010里,也无法禁用某个按钮,但是整个菜单是可以的.27- 1自动建立工作表目录int i = for (int n = 1; n 1 & =1; i+)if = 0)i. Delete();32- 1删除工作表的重复行int rng

12、End = A65535.Endfor (int i = rngEnd; i=l; i)if i, 1) 1)i. Delete();33- 1定位删除特定内容所在的行(删除A列中包含” Excel”字符的行=false;int rngEnd = A65535. End string str = Excel.*;for (int i = rngEnd; i = 1; i)rng = i, 1;if , str)(i. Delete();注:需引用using判断是否选中整行int i =rng = if = i)(你选中了 一整行);else(你没有选中了 一整行);35- 1限制工作表的滚动区

13、域=B4:H12;36- 1复制自动筛选后的数据区域if1);37- 1使用髙级筛选获得不重复记录rngSheet2 =();1,Al.(true);38- 1工作表的保护与解除保护(T2345);1,1. Value=100;(12345);39- 1奇偶页打印int pg = for (int i = 1; i = pg; i=i+2)(1, i);40- 1使用工作簿的名称string str =工作簿的引用方法.xlsx1. Path; (str);40-3 使用 ThisWorkbook使用 Acti veWorkbook新建工作簿Nowbook;string shName = new string4 余额,单价,数量,金额;string arr = new string12 01 月 ”,02 月,03 月,04 月,05 月,06 月,07 月,08 月”,”09 月,T0 月”,”11 月,12 月” ;=4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论