删除弹框提示_Vba批量删除工作表,批量另存工作表为excel文件

63c4235a669efad524c216e64b855793.png

1

工作表的基础操作

上一章我们学习了工作表的一些操作,这一章就来学习一下对工作簿的操作

  • 工作表和工作簿有什么区别呢?

一个excel文件就是一个excel工作簿例如abc.xls,一个工作簿中包含1个到若干个工作表例如sheet1,也就是说工作簿是由工作表组成的。

下面我们就来了解一下工作簿的操作

  • 打开工作簿

Application.displayAlerts=false   //点击保存会有弹框出现,所以要先关闭弹框 Application.screenUpdating =false   //操作工作簿桌面会出现闪动。也先关闭掉 Workbooks.open filename:=”d:\data\1.xlsx”  //打开D盘data文件下的1.xlsx工作簿 Activeworkbook.sheets(1).range(“a1”)=”到此一游”  // Activeworkbook表示当前活动的工作簿。 A ctiveworkbook.sheets(1).range(“a1”)指当前活动的工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们真的打开过。 Activeworkbook.Save   //保存一下刚刚做的修改 Activeworkbook.close  //关闭工作簿 Application.displayAlerts=true   //开启 Application.screenUpdating =true  //开启
  • 新建工作簿

Application.displayAlerts=false

Application.screenUpdating =false

Workbooks.add  //新建一个工作簿

Activeworkbook.sheets(1).range(“a1”)=”到此一游haha” //新建工作簿会自动打开,默认有一个sheet1工作表,我们在新建工作簿的第一个工作表的A1单元格填写”到此一游”。证明我们的操作成功了。

Activeworkbook.Save   //保存一下,新建文档默认会保存到文档目录下面,你可以手动新建一个工作簿直接点保存看一下默认地址。

Activeworkbook.close  //关闭

Application.displayAlerts=true

Application.screenUpdating =true

  • 保存工作簿

Activeworkbook.SaveAsfilename:=”d\data\2.xlsx”
  • 关闭工作簿

Activeworkbook.close
  • Foreach 的用法

前几章我们一张掌握了for的用法,今天来介绍for的另一种写法。。

有点像php语言的写法,下面我们通过两段代码来更直观的了解for each

 需求1:将单元格A1 到A10 都赋值1

For的写法:

Dim i as integer For i=1 to 10    Range(“a” & i)=iNext

For each的写法:

Dim ra as range  For each ra in range(“a1:a10”)   ra=1  //上面我们定义了ra as range,ra是单元格类型,表示a1到a10单元格  Next

需求2:将单元格A1 到A10 赋值为他们各自的下标

For的写法:

Dim i as integer For i=1 to 10    Range(“a” & i)=i  Next

For each的写法:

Dim ra as range     For eachra in range(“a1:a10”)       i=i+1    //  每次循环i+1,i初始值默认是0       Ra=i   //等价于range(“a”& i)= i    Next

学会了for each 我们来实战一下

2

案例1

题目:

    除了叫“绝不能删”的表不删除外,批量删除工作簿中的其他表。

分析:

   1. 要判断每一张表的名字,不等于“绝不能删”,执行删除操作

   2.要定义一个变量类型为工作表dim sht as worksheet

   3.执行删除操作会有提示弹框要事先关闭

代码:

sub del()Dim sht as worksheetApplication.displayAlerts=false  //执行删除操作会有弹框出现,所以要先关闭弹框  For each sht in sheets    If sht.name <>”决不能删” then      sht.delete    End if  NextApplication.displayAlerts=trueend sub

3

案例2

题目:

将工作簿中的所有工作表另存为一个个excel文件,另存地址为d:\data

5aa9bd7d53540c000f341796a440f6a8.png

代码:
sub chaifen()For each sht in sheetsSht.copy    // copy不指定位置默认新建一个工作簿Activeworkbook.SaveAs filename:=”d\data\”& sht.name & ”.xlsx” //文件路径Activeworkbook.close//关闭Nextend sub

 结果如下图:

60aa7ec74508520e7725b50f1c659ba9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值