资源描述:
《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列中的最