ExcelVBA常用代码VSTO版.docx

上传人:b****3 文档编号:11743323 上传时间:2023-06-02 格式:DOCX 页数:17 大小:19.33KB
下载 相关 举报
ExcelVBA常用代码VSTO版.docx_第1页
第1页 / 共17页
ExcelVBA常用代码VSTO版.docx_第2页
第2页 / 共17页
ExcelVBA常用代码VSTO版.docx_第3页
第3页 / 共17页
ExcelVBA常用代码VSTO版.docx_第4页
第4页 / 共17页
ExcelVBA常用代码VSTO版.docx_第5页
第5页 / 共17页
ExcelVBA常用代码VSTO版.docx_第6页
第6页 / 共17页
ExcelVBA常用代码VSTO版.docx_第7页
第7页 / 共17页
ExcelVBA常用代码VSTO版.docx_第8页
第8页 / 共17页
ExcelVBA常用代码VSTO版.docx_第9页
第9页 / 共17页
ExcelVBA常用代码VSTO版.docx_第10页
第10页 / 共17页
ExcelVBA常用代码VSTO版.docx_第11页
第11页 / 共17页
ExcelVBA常用代码VSTO版.docx_第12页
第12页 / 共17页
ExcelVBA常用代码VSTO版.docx_第13页
第13页 / 共17页
ExcelVBA常用代码VSTO版.docx_第14页
第14页 / 共17页
ExcelVBA常用代码VSTO版.docx_第15页
第15页 / 共17页
ExcelVBA常用代码VSTO版.docx_第16页
第16页 / 共17页
ExcelVBA常用代码VSTO版.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ExcelVBA常用代码VSTO版.docx

《ExcelVBA常用代码VSTO版.docx》由会员分享,可在线阅读,更多相关《ExcelVBA常用代码VSTO版.docx(17页珍藏版)》请在冰点文库上搜索。

ExcelVBA常用代码VSTO版.docx

ExcelVBA常用代码VSTO版

ExcelVBA常用代码VSTO版(C#)

1-1使用Range属性

[”A3:

F6,B1:

C5M].SelectO;

1-2使用Cells属性

for(inticell=l:

icell<=100;icell++)

{

1].value=icell;

}

1-3・

使用快捷记号

#N/A

1-5使用Offset属性

["Al:

A3"[.Offset[3,3].SelectO;

1-6使用Resize属性

["Al"].Resize[3,3].Select();

1-7使用Union厲性

"A1:

D4"],[ME5:

H8M]).SelectO;

1-8使用UsedRange属性

1-9使用CurrentRegion属性

[”A5”].0;

2-1使用Select方法

,A1:

B1O,^].SelectO;

2-2使用Activate方法

"Al:

BIO"].Activate();

注:

此处的代码,可以运行,但是只会选中Al这一个单元格

2-3使用Goto方法

"Al:

BIO"],true);

3-1获得指定行•列中的最后一个非空单元格

rng=[wA65535"].End[("A列中最后一个非空单元格是"+[0,0]+",行号"++",数

值”+:

4-1定位单元格

rng=0;

("工作表中有公式的单元格为:

"+;

5-1查找单元格

rng,Rng;

Rng=["A:

A"];

stringstrFind=;

if0!

=

{

rng=(strFind,[false):

if(rng!

=null)

{

J

true);

}

else

{

("没有找到单元格!

");

}

}

注:

C#中没有InputBox,这里用文本框代替,另,C#中没有withEndwith语句.

5-1查找单元格重复数据

rng,Rng;

>

stringFindAddress=;

Rng=["A:

A"];

stringstrFind=;

if0!

=

rng=(strFind,[false):

if(rng!

=null)

FindAddress=;

do

{

rng=(rng);

}while(rng!

=null&&!

=FindAddress):

}

}

5-2使用Like运算符

C#中没有Like运算符,可以用正则表达式来处理.

6-1替换单元格内字符串

[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(工作表1SelectionChange):

然后在事件代码中输入

if==3&&==1)

{

if==

{

w{F2}tt);

}

}

10-1禁用单元格拖放功能

if["A1:

A15"])!

=null)

=false;}

else

{

=true;

}

11-1单元格字体格式设置rng=["Al”].Font;「'宋体";=,rBold,r;

=18;

=3;

=2;

11-2设置单元格内部格式rng=["Al”]・Interior;=3;

==6;

11-3为单元格区域添加边框

rng=[,rB4:

G10'rJ.Borders;

=5;

col=5;

["B4:

G1O"].BorderAround2为单元格区域应用多种边框格式

col=5;

=col;

rng=["B4:

G1O"].Borders]Rng=["B4:

G10"].Borders]===col;

丨"B4:

G10"].BorderAround2col);

11-4靈活設置單元格的行髙列寬

rngl=["Al"];

rng2=["Bl"];

====單元格中建立數據有效性

rng=["Al:

A10"];

T,2,3,4,5,6,7,8");

12-2判斷單元格是否存在數據有效性

try

{

if["A12"].>=0)

{

("單元格中有數據有效性!

");

}

}

catch

{

("單元格中沒有數據有效性!

");}

12-3動態的數據有效性

void工作表1SelectionChangeTarget){

if==1&&==1&&>1)

 

"主機,顯示器");

 

12-4自動展開數據有效性下拉列表

"%{down}w);

13-1在單元格中寫入公式

【"C1:

C1O"|.Formula=',=sum(Al,Bl)";

13-1寫入單元格區域數組公式

I

["C1FormulaArray="二Al:

A2*B1:

B2";

13-2檢查單元格是否含有公式

rng=if)

{

("公式區域為:

"+23).Address[0,0]);

}

elseif

{

("全部單元格為公式!

");

}

else

{

("全部單元格不為公式!

");

}

注:

因為HasFormula返回的是一個dynamic類型的值,C#的swith貌似并不支持.

13-3判斷單元格公式是否存在錯誤

未研究出來,如何調用,用了Excel自帶函數來處理的.

rng=["AlOffset[0,1]:

=,,=iserror(Al),r;

if

CAI單元格錯誤類型為:

”+["Al"].Text);}

else

("Al單元格結果為:

"+["Al”].Text);

13-4取得單元格中公式的引用單元格rng=["Cl"]・Precedents;("公式所引用的單元格有:

"+;

13-5將單元格中的公式轉換為數值

rng=["C1:

C1O"];="二sum(Al:

Bl)";

=;

14-1判斷單元格是否存在指注

if["AlComment==null)

{

("Al單元格中沒有批注”);

}

else

{

CA1單元格中批注內容為:

”+”\n”+[”A1”].());}

14-2為單元格添加批注

rng=["Al"];

if==null)

{

=true;

}

14-3刪除單元格中的批注

rng=["Al"];

if!

=null)

{

}

15-1判斷單元格區域是否存在合并單元格

rng=if)

"區域中包含合并單元格「);

}

elseif

{

("區域中全部為合并單元格!

");

}

else

{

("區域中沒有合并單元格!

");

}

15-2合并單元格時連接每個單元格的文本rng=strings=;

foreachRnginrng)

{

s=s+;

}

=false;

0;

=S;

=true;

15-3合并內容相同的連續單元格

intrEnd=["A65535"].End[=false;

for(inti=rEnd;i>=2;i—)

{

rng=[i,1];

if==[T,01.Value)

{

[T,0]).Merge():

}

}

15-4取消合并單元格時在每個單元格中保留內容intrEnd=["A65535"].End[intm=[rEnd,1].;[Cells[l,1],Cells[rEnd,1]].UnMerge();

=false;

for(inti=1;i

rng=[i,11;

if[1,0|.Text==

{

[1,0].Value=;

}

16-1髙亮顯示單元格區域

rng===8;

17-1雙擊被保護單元格時不顯示提示消息框if

{

("此單元格已保護,不能編輯");

Cancel=true;

18-1重新計算工作表指定區域oldCalcultion==,rAl:

D10'r].Calculate():

=oldCalcultion;

19-1錄入數據后單元格自動保護if

{

(T23456");

}

if!

=

=true;

(T23456");

}

20-1使用單元格的Address屬性if[0,0]==ttAln)

(”你選擇了Al單元格J;}

20-2使用Column屬性和Row屬性

inti=0;

if==1&&<11&&,outi))

{

[0,1].Value=i*3;

}

20~3使用Intersect方法

rng="Al:

A10"],[',Cl:

C10'r]));

if(rng!

=null)

{

("你選擇了"+[0,0]+"單元格");

}

21-1使用工作表的名称

"工作表2"].ActivateO;

21-2使用工作的索引号

使用工作表的代码名称

21-4用ActiveSheet属性引用活动工作表(选择工作表的方法

23-1使用For遍历工作表

intwkCount=strings=;

for(inti=1;i<=wkCount;i++)

}

("工作簿中含有以下工作表:

"+"\十+S);

23-2使用ForEach语句

strings=;

foreachwkin{

s=s++"\n";

}

("工作簿中含有以下工作表:

"+“\n"+s);

24-1在工作表中向下翻页

shs=wkThis=wkNext;

intwkindex=;

intwkCount=;

if(wkIndex

{

wkNext=;

0;

}

25-1工作表的添加与删除

wksThis=wsAdd=wksThis[]):

二"数据";

25-1批量添加工作表

wksThis=wksNew=null;

if<=3)

{

for(inti=1;i<=10;i++)

{

wksNew=wksThis[]);

二”第"+()+”个工作表J

26-1禁止删除指定工作表

cmdCtl=可以找到删除按钮,但是无法禁止,也无法加载单击事件,非常奇怪.

而且在0ffice2010里,也无法禁用某个按钮,但是整个菜单是可以的.

27-1自动建立工作表目录

inti=for(intn=1;n<=i;n++)

{

[n+1,1].Value=}

27-1建立工作表链接intm=if==1)

{

if==1)

{

if>1&&<=(m+l))

{

}

}

}

28-1工作表的深度隐藏

=防止更改工作表的名称

voidThisWorkbookBeforeClose(refboolCancel){

if[1].Name!

="ExcelHome,r)

{

[1].Name="ExcelHome";

}

0;

}

30-1工作表中一次插入多行

rng=[3]:

[3].Insert();

31-1删除工作表中的空行

rng=;

intrngEnd=[for(inti=rngEnd;i>=1;i++)

if==0)

{

[i].Delete();

}

}

32-1删除工作表的重复行

intrngEnd=["A65535"].End[for(inti=rngEnd;i>=l;i―)

{

if[i,1])>1)

{

[i].Delete();

}

}

33-1定位删除特定内容所在的行(删除A列中包含”Excel”字符的行

=false;

intrngEnd=["A65535"].End[stringstr="Excel.*";

for(inti=rngEnd;i>=1;i—)

{

rng=[i,1];

if,str))

{

[i].Delete();

}

}

注:

需引用using判断是否选中整行

inti=rng=if==i)

{

("你选中了一整行");

}

else

("你没有选中了一整行");

35-1限制工作表的滚动区域

="B4:

H12";

36-1复制自动筛选后的数据区域

if

{

1]);

37-1使用髙级筛选获得不重复记录

rngSheet2=();

1],

["Al"].(

true);

38-1工作表的保护与解除保护

(T2345");

[1,1].Value=100;

("12345");

39-1奇偶页打印

intpg=for(inti=1;i<=pg;i=i+2)

{

(1,i);

}

40-1使用工作簿的名称

stringstr="工作簿的引用方法.xlsx'1].Path;(str);

40-3使用ThisWorkbook

使用ActiveWorkbook

新建工作簿

Nowbook;

string[]shName=newstring[4]{"余额","单价","数量","金额"};

string]]arr=newstring[12]{"01月”,"02月","03月","04月","05月","06月","07月","08月”,”09月",T0月”,”11月","12月”};

=4;

Nowbook=for(inti=1;i<=4;i++)

{

[i].Name=shName[i-1]:

[i].Range["Bl"].Resize[l,]=arr;

[i].Range[ttB2w]二"品名";

}

(WC:

\\W+”存货明细.xlsx");

(true);

42-1打开指定的工作簿

intwkCount=for(inti=1;i<=wkCount;i++)

{

if=="")

{

(T23工作簿已经打开”);

}

}

"C:

\\"+"");

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2