如何将EXCEL工作簿中所有工作表一次性运行同一个宏或模块?

请问:
如何将EXCEL工作簿中所有工作表一次性运行同一个宏或模块?
以下内容是每个sheet都要运行的宏:
Sub 宏1()
'
' 宏1 宏
'

'
Range("I1440").Select
Application.Goto Reference:="R1440C9:R2055C15008"
ActiveWorkbook.Worksheets("Hong=11x").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Hong=11x").Sort.SortFields.Add(Range("I1700:VEF1700"_
), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color =RGB(255 _
, 0, 0)
ActiveWorkbook.Worksheets("Hong=11x").Sort.SortFields.Add(Range("I1699:VEF1699"_
), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color =RGB(255 _
, 0, 0)
With ActiveWorkbook.Worksheets("Hong=11x").Sort
.SetRange Range("I1440:VEF2055")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
请帮忙修改一下,谢谢~~

第1个回答  2014-12-18
用for循环
Sub 宏1()
For i = 1 To Sheets.Count
Sheets(i).Select
Application.Goto Reference:="R1C9:R308C15008"
ActiveWorkbook.Sheets(i).Sort.SortFields.Clear
ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(183, 0) _
.Range("A1:VDX1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(255, 0, 0)
ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(182, 0) _
.Range("A1:VDX1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(255, 0, 0)
ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(181, 0) _
.Range("A1:VDX1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(255, 0, 0)
ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(180, 0) _
.Range("A1:VDX1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(255, 0, 0)
ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(179, 0) _
.Range("A1:VDX1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(255, 0, 0)
With ActiveWorkbook.Sheets(i).Sort
.SetRange ActiveCell.Range("A1:VDX308")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub追问

我的码是:Add(Range("I1700:VEF1700"_

你的码是:Offset(183, 0) _。

我想问一下你的码怎么和我的不一样?你不会是到别复制过来的吧。内容不一样啊??看清楚一点谢谢~~

如何将EXCEL工作簿中所有工作表一次性运行同一个宏或模块?
利用for循环解决。如果不是,则需要把i带入表的名称,如 i & "红分析",再利用for解决。工作簿,则需将其放在一个文件夹,数字顺序命名。循环打开,再执行上述宏。另外建议简化代码。相同的前缀加with 仅数字不同的用For

如何将EXCEL工作簿中所有工作表一次性运行同一个宏或模块?
用for循环 Sub 宏1()For i = 1 To Sheets.Count Sheets(i).Select Application.Goto Reference:="R1C9:R308C15008"ActiveWorkbook.Sheets(i).Sort.SortFields.Clear ActiveWorkbook.Sheets(i).Sort.SortFields.Add(ActiveCell.Offset(183, 0) _.Range("A1:VDX1"), xlSortOnCellColor, xlAscending,...

如何将EXCEL工作簿中所有工作表一次性运行同一个宏?
1.在电脑里找到要打印的表格。2. 打开表单打印,您将在工作簿中发现几个表单。3.点开工作薄抄中的任意一个表格。4.右击下方的单元格1,找到“选定全部工作表知”并点击。5.在表的左上角找到office按钮。6.点击office按钮,找到“打印”,选择“打印”。7.点击打印,将出现“打印内容”界面,选择o...

如何将EXCEL工作簿中所有工作表一次性运行同一个宏
1、在电脑里面找到需要打印的表格 2、打开需要打印的表格会发现工作簿里面有好几个表格 3、点开工作薄中的任意一个表格 4、右击下方的单元格1,找到“选定全部工作表”并点击 5、找到表格左上方的office按钮 6、点击office按钮,找到“打印”,选择“打印”7、点击打印,出现一个“打印内容”的界面,...

excel中怎么让一个宏在所有表格通用?
第一步,点击Excel界面左下角的录制宏按钮录制宏。2.第二步,在【宏名】处输入一个有意义的名称,帮助以后识别该宏的功能。本例按照默认名称命名。选择将宏录制在【个人宏工作簿】并点击【确定】按钮。3.第三步,马上点击Excel界面左下角的停止录制宏按钮停止宏的录制。4.第四步,按Alt+F11打开VBE...

如何在很多工作簿里运行同一个宏
一种办法:选中所有表格,再录制宏。 另一种办法:最简单的办法是用VBA修改宏,枚举每一张表,执行相同的操作步骤。

EXCEL中 打开工作薄的每个工作表都自动运行一个宏的多个模式?
我的思路是这样的:每个工作表都可以定义一个区域,把区域的名称改成页的名称 然后在宏里面设定打印区域为当前激活页的名称 即可打印设定该区域

一个excel文档里包含多个sheet,如何快速定义所有表都使用同一个宏?
有多种方法,如果这个宏只需要在这个工作簿存在时才使用,那么就新建一个模块放进去,或者放到thisworkbook下(图1),如果希望在这台电脑上任意工作簿都可以用,那么就放到个人宏工作簿下(图2)。

怎么让一个宏在所有表格都能用
;单击“确认”,然后在工作表中的任何一个单元格点“停”或“停止录制”按钮;关闭Excel,在询问是否要保存对“个人宏工作簿”的修改时,选择“是”;按Alt+F11打开VBA编辑器,Project Explorer窗口现在就会显示一个VBA Project、Personal.xls或Personal.xlsb列表;将你的宏粘贴到Module 1上即可。

如何对N个excel文件,批量执行同一个宏
首先将宏(Macro1)写入记事本,保存在特定的位置;然后在每个工作薄中都有一个相同的宏(如“插入并运行宏”),这个宏的作用在于,临时插入(添加)宏(Macro1),宏的内容调用记事本的内容,并运行这个刚插入的这个宏(Macro1)。--- Sub a() Dim myFile, myPath myPath = "E:\\Te...

相似回答
大家正在搜