vba移动文件_VBA那点事--工作簿(表)你真的懂么?

30bad88b57f222f335d5498f25f585ec.png

上一篇文,我们初步了解了VBA,现在我们进入Excel应用篇。

我们都知道,我们日常工作中操作数据的表,我们称之为工作表,就是我们常见的sheet,而多张sheet组成了工作簿。熟悉Excel函数的小伙伴应该都知道,我们经常会使用很多跨表工具,比如Vlookup等。这些函数能够在不同的工作表之间处理数据,甚至在不同的工作簿之间处理数据

而在VBA层面使用的是Workbooks和Workbook对象专门用来处理工作簿。

我们首先来看下Workbooks集合的常用属性

77909632a2e32927c0ea551a672d753c.png

Workbooks集合的常用方法

8c3000b2bc835d8864530388d53dfb74.png

Workbook对象常用的属性和方法

b6209d5bbf3d72f7d899b9f511a8983d.png

Workbook对象的常用方法

9c665fa01fd2eb454d3fd6c06e8f3992.png

引用工作簿

Workbooks指当前打开的所有工作簿

ActiveWorkBook.name
ThisWorkBook.name
'这两句代码的作用相同,都是返回当前打开的工作簿的内容

下边我们来通过几个小程序看一下

1.新建一个工作簿

首先打开vbe,可以通过快捷键Alt+F11或Fn+Alt+F11.当然前提是Excel选项里勾选了开发者选项。如果没有勾选或者不会的请自行Google

打开以后的效果如下

3aefad390ca4adf56f451816f4b0a262.png
Sub 新工作簿()
'新增一个工作簿
 Workbooks.Add
'显示新增工作簿的名称
 MsgBox ActiveWorkbook.Name

End Sub

72e0f5148b2a997409792b3bd3cc80e5.png
上述代码的执行结果

当然如果想批量建工作簿,可以使用For Next语句循环操作

Sub 新建多个工作簿()
Dim wb As String, count As Integer
'提醒用户输入想要新增的工作簿
wb = InputBox("请输入想要新建的工作簿的数量:")
'判断输入的是否是数
If IsNumeric(wb) Then
'遍历每个数字
  For count = 1 To wb
  '新增一个工作簿
    Workbooks.Add
 '继续执行下一个   
  Next count
 '跳出循环 
End If
'通过msgbox显示出程序的执行结果
MsgBox "一共创建了" & count & "个工作簿!"

End Sub

49346bdbeb554d74699d00c69bdf0c24.png
Inputbox提醒用户输入数字

46d69085e9d5f04490ede71001d9364d.png
MsgBox显示

打开工作簿

WorkBooks.Open

Sub open_()
'打开一个指定的文件
Workbooks.Open "E:taobaoad_feature.csv"
'提示程序已经执行结束
MsgBox "工作簿已经打开完成"

End Sub

e035f266a5639fc6a377cd51c2045f6c.png

工作簿的操作还有其他的保存,和关闭操作,这里就不继续展开了。

使用Worksheet 对象处理工作表

同样的对于工作表的操作可能我们更熟一点,比如工作表的新建,打开,移动,隐藏等等操作。

Worksheets集合的常用属性和方法

6a50ca1c500eb3b0f0390b8a83e53e3d.png

Worksheet对象的常用属性和方法

ffdeae2816f938385d37768482ca7330.png

获取工作表的类型

在使用Activatesheet引用工作表,或者使用Sheets集合引用工作表时,在执行后续操作的时候应该事先判别当前操作表格是否是sheet类型。这是因为Chart不包含表格,执行某些操作的时候可能会报错

有两种类型的对象

xlWorksheet和xlChart

新建工作表

使用add来新建sheet

Add(Before,After,Count,Type)

小程序--新建一个文件

Sub New_Sheet()

Worksheets.Add after:=Worksheets(Worksheets.count)
'这句话是在现有的表的(原有2个表)基础上新建2个表

End Sub

重命名工作表

Sub Rename()
'把sheet1改名为vba
Worksheets("sheet1").Name = "vba"

MsgBox "改名成功"
End Sub

移动和复制工作表

(1)移动工作表

ActiveSheet.Move after:=Worksheets(Worksheets.count)

(2) 复制工作表

ActiveSheet.Copy before:=Worksheets(Worksheets.count)

隐藏工作表

在excel界面操作的时候,我们一般会右键单击表名,然后点击隐藏

而在vba中

Worksheets.Visible = xlSheetVisible
'工作表可见
Worksheets.Visible = xlSheetHidden
'工作表隐藏
Worksheets.Visible = xlSheetVeryHidden
'深度隐藏工作表

删除工作表

Worksheets(Array(1,3,5)).Delete

因为工作表和工作簿的操作相对来讲比较简单,所以这里不做深入!

下一篇,我们来重点看一看对于单元格的操作!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值