excel中批量删除

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:41:28
我想在EXCEL中每隔15行保留一行,即只保留第1、16、31、46....行,该如何操作?

假设你现有表格在Sheet1表,那么在后面空表(如Sheet2表)的A1单元格输入下面公式:
=INDEX(Sheet1!$1:$65536,((ROW()-1)*15+1),COLUMN())
这个公式的结果会返回Sheet1表的A1单元格,然后向后复制公式到无数据单元格止,再向下复制公式,即可得到你要的效果..

用一段VBA程序来完成吧。
操作步骤:
1、在Excel工作表里按Alt+F11,打开VBA编程界面
2、在VBA编程界面的工具栏,第二个按钮拉下来选模块
3、在左边栏的“模块1”上双击,打开右边的程序书写区域
4、把下面的程序代码粘贴进去

Sub del15()
Dim lastRow As Integer
lastRow = ActiveSheet.Range("A65536").End(xlUp)
Application.ScreenUpdating = False
For i = lastRow To 1 Step -1
If (i Mod 15) <> 1 Then
ActiveSheet.Rows(i).Delete
End If
Next
Application.ScreenUpdating = True
End Sub

5、关闭VBA编程界面回到工作表
6、先选中你需要整理邮件格式的所在的单元区域
7、按Alt+F8打开“宏”对话窗口
8、在窗口中选中“del15”,然后单击“执行”按钮

现在在工作表里应该看到你想要的结果了。
运行这个程序的前提是我假设你的A列中有数据

(特别提醒:要在Exce中通过菜单“工具-宏-安全性”把宏的安全级别设为中或低以允许宏的运行,否则宏不能运行也得不到你要的结果)

b1 =IF(MOD(A1,15)=1,1,0) 向下拖拽填充柄