作者:乔山办公网日期:
返回目录:excel表格制作
Option Explicit Sub test() '1、定来义变量 Dim wb As Workbook '2、遍历自每百一个打开度的工作簿知 For Each wb In Workbooks Application.DisplayAlerts = False '3、保存 wb.Save '4、关闭道 wb.Close Application.DisplayAlerts = True Next End Sub
具体规则只有问抄开发者了。袭
vba编程和激活也没什么直接关联,你是不是没有百将打开的工作簿对象赋给度变量保存。
否则即使要知激活也很容易的,如道:
Dim myWorkbook As Workbook
set myWorkbook = Application.Workbooks.Open("<文件名>")
myWorkbook.Activate
Send your files to
I do it for you.
Sub 自动填充()
Application.ScreenUpdating = False '关闭屏幕更新
Application.DisplayAlerts = False '关闭提示窗口
Dim i As Integer, fn As Variant, sht As Variant
fn = Array("表1.xls", "表2.xls", "表3.xls", "表4.xls", "表5.xls", "表6.xls", "表7.xls")
sht = Array("表1", "表2", "表3", "表4", "表5", "表6", "表7")
For i = 0 To 6
Windows(fn(i)).Activate
Cells.Select
Selection.Copy
Windows("汇总.xls").Activate
Sheets(sht(i)).Select
Cells.Select
With Selection
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Windows(fn(i)).Activate
ActiveWindow.Close False 'savechangs:=False '关闭窗口不保存e799bee5baa6e4b893e5b19e333
' fn(i) = fn(i + 1)
' sht(i) = sht(i + 1)
Next i
i = 0
For i = 0 To 6
Windows("汇总格式.xls").Activate
Sheets("格式").Select
Cells.Select
Selection.Copy
Windows("汇总.xls").Activate
Sheets(sht(i)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
sht(i) = sht(i + 1)
Next i
Application.DisplayAlerts = True '打开提示窗口
ActiveWorkbook.SaveAs Filename:="D:\临时文件\汇总.xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False '文件保存路径及文件名
Application.ScreenUpdating = True '打开屏幕更新
ActiveWindow.Close
Windows("汇总格式.xls").Activate
End Sub