400-685-0732

WJMonitor舆情之声

企业大数据智能舆情监测管理解决方案

全网监测海量数据按需发布监测预警

实时把握舆情动态精准追溯信息源头

获取验证码
企业采购 个人使用
当前位置: 首页 > 办公 > excel > Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

时间:2018-07-13 15:41:52

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!,今天给大家带来的这篇文章主要讲的是,Excel VBA(宏)有多强大?看了这几个Excel功能就服了!的相关知识,或许有很多人都曾被这个问题困扰,但是当你看完Excel VBA(宏)有多强大?看了这几个Excel功能就服了!这篇文章的时候我相信你一定不会载被这个问题所困扰了,一起来看看吧!

excel为提供了很多好用的功能和函数,但还是有很多工作无法用现有功能和函数批量完成,比如多个excel表格的合并与拆分,而借助VBA语言编写的宏代码,这些看似无法批量处理或无法完成的事情,瞬间变得只是小菜一碟,也许你不懂VBA,也建议先收藏起来这些代码备用。

(第1个示例中,演示了VBA代码的使用方法,后面示例均和第1个类似,不再具体演示)

1、一次取消所有工作表的隐藏

Excel可以一次隐藏多个工作表,但取消工作表隐藏却需要一个个的设置,用VBA编写一段代码,一秒完成!

注意

要想使用VBA功能,需要把代码粘贴到添加的模块中,详见动画演示

要想保存VBA代码,需要把文件另存为xlsm格式文件,详见动画演示

动画演示:

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

代码:

Sub 取消隐藏()

For x = 1 To Sheets.Count

If Sheets(x).Name <> "总表" Then

Sheets(x).Visible = -1

End If

Next x

End Sub

Sub 隐藏()

For x = 1 To Sheets.Count

If Sheets(x).Name <> "总表" Then

Sheets(x).Visible = 0

End If

Next x

End Sub

2、根据模板批量生成日报表

根据模板批量生成报表,没什么好方法,只能一个一个的复制然后修改名称。但这对VBA来说,只需点一下按钮即可瞬间完成。

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

代码:

Sub 生成报表()

Dim x As Integer

Dim sh As Worksheet

For x = 1 To 31

Set sh = Sheets.Add

With sh

.Name = x & "日"

Sheets("日报模板").Range("1:15").Copy sh.Range("A1")

End With

Next x

End Sub

3、拆分工作表为单独的excel文件

把当前excel文件中除第1个工作外的所有工作表,均保存为单独的excel文件到3月文件夹中。

拆分演示(在拆分过程中会画面会停几秒,请耐心等待)

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

代码:

Sub 拆分表格()

Dim x As Integer

Dim wb As Workbook

Application.ScreenUpdating = False

For x = 2 To 32

Sheets(x).Copy

Set wb = ActiveWorkbook

With wb

.SaveAs ThisWorkbook.Path & "/3月/" & Sheets(x).Name & ".xlsx"

.Close True

End With

Next x

Application.ScreenUpdating = True

End Sub

4、合并多个Excel文件工作表到一个文件中

3月文件夹下有N张报表,要求把该文件夹中所有excel文件的第1个工作表合并到当前的excel文件中,以单独的工作表存放。

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

代码:

Sub 合并表格()

Dim mypath As String

Dim f As String

Dim ribao As Workbook

Application.ScreenUpdating = False

mypath = ThisWorkbook.Path & "/3月/"

f = Dir(ThisWorkbook.Path & "/3月/*.xlsx")

Do

Workbooks.Open (mypath & f)

With ActiveWorkbook

.Sheets(1).Move after:=ThisWorkbook.Sheets(Sheets.Count)

End With

f = Dir

Loop Until Len(f) = 0

Application.ScreenUpdating = True

End Sub

以上就是Excel VBA(宏)有多强大?看了这几个Excel功能就服了!全部内容了,希望大家看完有所启发,对自己的工作生活有所帮助,想要了解更多跟Excel VBA(宏)有多强大?看了这几个Excel功能就服了!请关注我们优词网!

Excel VBA(宏)有多强大?看了这几个Excel功能就服了!

分享按钮