- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Excel中实现隔行删除
选一个空列做辅助列?? ? 假设是F列?? ? 在F1里填上?? ? =MOD(ROW(F1),?? 2)?? ? 然后复制到本列其它单元格中?? ? 打开自动筛选?? ? 选中0或1?? ? 然后全选?? 删除?? ? 就搞定了??
选的时候要选中整行?? ? 我试过的?? ? 完全可以?? ??? ? 这个方法只能说是半自动的,对付几百行还能将就?? ? 如果真的有上万行,还是做个宏好一些?? ? 而且也很简单?? ? Sub?? RowsDelete(Odd?? As?? Long)?? ????????? Dim?? nRows?? As?? Long?? ????????? Dim?? i?? As?? Long?? ????????? With?? Worksheets(sheet1)?? ????????????????? nRows?? =?? .UsedRange.Rows.Count?? ????????????????? For?? i?? =?? nRows?? To?? 2?? Step?? -1?? ????????????????????????? If?? i?? Mod?? 2?? =?? Odd?? Then?? ????????????????????????????????? .Rows(i).Delete?? ????????????????????????? End?? If?? ????????????????? Next?? ????????? End?? With?? ? End?? Sub?? ??? Odd为0时删除偶数行?? 为1时删除奇数行?? ?
这种东西为什么要用VBA或者宏??? ??? ? 只需要加一个辅助列即可:?? ??? ? 在某列输入公式:?? =MOD(ROW(),2)?????????? ? 然后把公式复制到相应的数据区域即可.?? ??? ? 如果您希望删除奇数列,那么使用筛选,选取辅助列值为1,然后选中这些行,删除即可.?? ? 如果您希望删除偶数列,那么选取辅助列值为0,然后选中筛选出来的行,删除即可.?? ??? ? 然后选中辅助列,进行排序,这样中间就不会出现空行了。最后删除辅助列?? ??? ? 远比使用VBA来的快捷.另外:行数即使真的几万行一样可行.
如果是几万行?? 复制一次公式也挺烦的?? ? 不如VBA来得方便?? ??? ? 楼主可以打开你的Excel文件?? ? 按?? Alt+F11?? 打开VBA编辑器?? ? 在左边找到该文件的ThisWork?? 双击它?? ? 然后把俺的代码复制到右边的代码区?? ??? ? 这段代码是处理名为sheet1的表单的?? ? 你要根据你的情况改一下?? ? 把光标点到这段代码里?? ? 然后按F5?? ??? ? 哗~~~~~~~~~~~~?? ? 整个世界清静了??
选定你要***作的工作表 工具-宏-VB编辑器 插入-模块 复制下面的代码行,删除前面的引号,并修改其中注释的fristline和linecount后面的数字,然后按下F5运行即可
Sub Macro1() ?? ? fristline = 1????????????????? 填需删除的第一行的行号 ? linecount = 100??????????????? 填需删除的最后一行的行号 ? fristdelete = Int((fristline + 1) / 2) * 2 ? str1 = fristdelete ? For i = 1 To (linecount - fristdelete) / 2 ??? str1 = str1 , fristdelete + i * 2 ? Next ? Range(str1).Delete End Sub
文档评论(0)