EXCEL常用VBA代码

EXCEL常用VBA代码

ID:38580875

大小:49.50 KB

页数:7页

时间:2019-06-15

EXCEL常用VBA代码_第1页
EXCEL常用VBA代码_第2页
EXCEL常用VBA代码_第3页
EXCEL常用VBA代码_第4页
EXCEL常用VBA代码_第5页
资源描述:

《EXCEL常用VBA代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、删除B列中字符串数值少于21的单元格所在的行Sub删除行()r=Range("B65536").End(xlUp).Row'行数Forh=rTo1Step-1IfCells(h,2)<21ThenCells(h,2).EntireRow.DeleteNextEndSub-------------------------【工作表合并】将同一工作簿中的所有工作表合并到一个工作表中新建一个工作表,写入代码[在新建的工作表标签处右键查看代码(找不到的直接按一下alt+F11)把下面的代码复制进去然后点上面的运行运行子程序即可]:Sub合并当前工作簿下的所有工

2、作表()Application.ScreenUpdating=FalseForj=1ToSheets.CountIfSheets(j).Name<>ActiveSheet.NameThenX=Range("A65536").End(xlUp).Row+1Sheets(j).UsedRange.CopyCells(X,1)EndIfNextRange("B1").SelectApplication.ScreenUpdating=TrueMsgBox"当前工作簿下的全部工作表已经合并完毕!",vbInformation,"提示"EndSub*******

3、**************************************************代码这样写也行:Subc()Fori=Sheets.CountTo2Step-1Sheets(i).SelectSheets(i).UsedRange.CopySheets(1).SelectCells(Cells(65000,1).End(xlUp).Row+1,1).SelectActiveSheet.Paste'Sheets(i).DeleteNextiEndSub*****************************************

4、*******************把一个工作簿中的所有表单合并成一个表单,怎么去掉重复的表头、标题行?方法如下:Subc()Fori=Sheets.CountTo2Step-1Sheets(i).UsedRange.Offset(1).CopySheets(1).Cells(65536,1).End(xlUp).Offset(1)NextiEndSub说明:函数OFFSET(reference,rows,cols,height,width)以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行

5、数或列数。通俗的讲就是OFFSET(参考单元格,移动的行数,移动的列数,所要引用的行数,所要引用的列数)参考《关于offset函数》第三行中第一个offset(1)是假设要要去掉的表头行数,如果有2行表头,就改成offset(2),要去掉几行表头括号中的数字就改成几。第二个offset(1)表示合并以后表格与表格之间要间隔的空行,offset(1)表示不留空行,offset(2)表示间隔1行空行,以此类推。也可以这样写:Subc()Fori=Sheets.CountTo2Step-1Sheets(i).UsedRange.Offset(2).Copy

6、Sheets(1).Cells(Cells(65536,1).End(xlUp).Row+1,1).Offset(0)‘这个offset(0)可以不要NextiEndSub****************************************************************或者用以下宏代码将同一工作簿中的所有工作表合并到一个新建的工作表中按ALT+F11调出VBA窗口,插入一个模块,然后把下面的代码复制进去。Subhz()SetNewSheet=Sheets.Add(Type:=xlWorksheet)'生成一个新表Shee

7、ts(NewSheet.Index).MoveBefore:=Sheets(1)'将此新表移动到最前面Fori=2ToWorksheets.CountSheets(i).UsedRange.CopyNewSheet.Cells([a65536].End(xlUp).Row+2,1)'将其他表的已使用区域复制到新表中NextiMsgBox"合并完成"EndSub这段代码很简单,其中第四行中用FOR循环得到当前工作簿中的所有工作表,第五行中使用UsedRange得到每个工作表的“已使用区域”,然后用copy方法把这些“已使用区域”中的内容复制到新建工作表

8、中。语句Cells([a65536].End(xlUp).Row+2,1)的作用是得到新建工作表的A列中的最

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。