✅ 操作成功!

excel宏编程

发布时间:2023-06-13 作者:admin 来源:文学

excel宏编程

excel宏编程

-

2023年3月18日发(作者:柴静看见读后感)

为什么那么多⼈学习ExcelVBA宏编程,看了这些就明⽩了!

excel为我们提供了很多好⽤的功能和函数,但还是有很多⼯作⽆法⽤现有功能和函数批量完

成,⽐如多个excel表格的合并与拆分。⽽借助VBA语⾔编写的宏代码,这些看似⽆法批量处理

或⽆法完成的事情,瞬间变得只是⼩菜⼀碟,也许你不懂VBA,也建议先收藏起来这些代码备

⽤。

(下⾯⽰例选⾃excelVBA零基础⼊门班1~3期课件和作业内容,学习班报名联系客服特特微

信:185****0003)

(第1个⽰例中,演⽰了VBA代码的使⽤⽅法,后⾯⽰例均和第1个类似,不再具体演⽰)

1、⼀次取消所有⼯作表的隐藏

Excel可以⼀次隐藏多个⼯作表,但取消⼯作表隐藏却需要⼀个个的设置,⽤VBA编写⼀段代

码,⼀秒完成!

注意

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

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

动画演⽰:

代码:

Sub取消隐藏()

Forx=

IfSheets(x).Name'总表'Then

Sheets(x).Visible=-1

EndIf

Nextx

EndSub

Sub隐藏()

Forx=

IfSheets(x).Name'总表'Then

Sheets(x).Visible=0

EndIf

Nextx

EndSub

2、根据模板批量⽣成⽇报表

根据模板批量⽣成报表,没什么好⽅法,只能⼀个⼀个的复制然后修改名称。但这对VBA来

说,只需点⼀下按钮即可瞬间完成。

代码:

Sub⽣成报表()

DimxAsInteger

DimshAsWorksheet

Forx=1To31

Setsh=

Withsh

.Name=x&'⽇'

Sheets('⽇报模板').Range('1:15').('A1')

EndWith

Nextx

EndSub

3、拆分⼯作表为单独的excel⽂件

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

拆分演⽰(在拆分过程中会画⾯会停⼏秒,请耐⼼等待)

代码:

Sub拆分表格()

DimxAsInteger

DimwbAsWorkbook

Updating=False

Forx=2To32

Sheets(x).Copy

Setwb=ActiveWorkbook

Withwb

.&'/3⽉/'&Sheets(x).Name&'.xlsx'

.CloseTrue

EndWith

Nextx

Updating=True

EndSub

4、合并多个Excel⽂件⼯作表到⼀个⽂件中

3⽉⽂件夹下有N张报表,要求把该⽂件夹中所有excel⽂件的第1个⼯作表合并到当前的excel⽂

件中,以单独的⼯作表存放。

代码:

Sub合并表格()

DimmypathAsString

DimfAsString

DimribaoAsWorkbook

Updating=False

mypath=&'/3⽉/'

f=Dir(&'/3⽉/*.xlsx')

Do

(mypath&f)

WithActiveWorkbook

.Sheets(1).Moveafter:=()

EndWith

f=Dir

LoopUntilLen(f)=0

Updating=True

EndSub

👁️ 阅读量:0