求高手修改excel的宏命令
发布网友
发布时间:2022-09-17 09:50
我来回答
共3个回答
热心网友
时间:2023-10-16 02:08
请先将 菜单【工具】【宏】【安全性】设置为:低,退出!
在72个文件夹的同级目录下新建一个Excel文件“汇总-资产负债表.xls” 双击,打开这个文件!
Alt+F11,打开VBE编辑器,双击ThisWorkbook,在代码窗口粘贴下面的代码:
Sub ouyangff()
Dim Mypath, Myname As String, sht As Worksheet
Application.Calculation = xlManual '关闭自动重算
i = 1
Mypath = ThisWorkbook.Path & "\" '获取工作表所在的文件夹的路径
Myname = Dir(Mypath, vbDirectory)
Do While Myname <> ""
If Myname <> "." And Myname <> ".." Then
If GetAttr(Mypath & Myname) = vbDirectory Then '是文件夹吗?
Sheet1.Cells(i, 1) = Myname '将文件夹名称留下
i = i + 1
End If
End If
Myname = Dir '读下一个
Loop
For i = 501 To 572 '若有 表501、502……则删除
For Each sht In Sheets
If Val(sht.Name) = i Then
Application.DisplayAlerts = False
sht.Delete
Application.DisplayAlerts = True
End If
Next
Next
For i = 1 To [a65536].End(3).Row '添加 sheet 501、502…… 72个表
Set sht = Worksheets.Add(after:=Worksheets(Worksheets.Count), Count:=1)
sht.Name = Right(Sheets(1).Cells(i, 1), 3)
Workbooks.Open Mypath & Sheets(1).Cells(i, 1) & "\" & "资产负债表.xls" '打开资产负债表.xls
Workbooks("资产负债表.xls").Sheets("sheet1").Cells.Copy sht.Cells '拷贝到 501、502……中
Workbooks("资产负债表.xls").Close '关闭文件
Next
Application.Calculation = xlAutomatic '打开自动重算
ActiveWorkbook.PrecisionAsDisplayed = False
Calculate
End Sub
按F5运行程序,按Alt + F11 回到Excel 里去看看结果!
还有问题,请留言,祝你工作顺利!!!
热心网友
时间:2023-10-16 02:09
把那个excel文件和要求发过来给我吧!我帮你搞定好了,我邮箱he805858246@163.com
热心网友
时间:2023-10-16 02:09
你的分很诱人啊.
你的问题在哪里啊?