我在excel里录制了一段宏,请问如何让此段宏对每个工作表都能执行

Sub Macro1()
'
' Macro1 Macro
Sh.Columns("J:J").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="是,否"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
Next
End Sub
如何让此段代码不用手动一个个工作表点,而是直接运行就让所有sheet都运行此段代码

亲,代码前后套上一层循环。
dim i as integer
for i=1 to sheets.count
sh=sheets(i)
下面粘贴你的代码
next追问

黄色的报错,对象不支持该属性和方法

追答

请问你原来的Sh定义的是什么类型?
不过无所谓了……你把黄色那一句改成 Sheets(i).select

追问

嗯 ,这个解决了!谢谢啊! 我还想问,我这段宏代码按照你的方法执行,为什么总报错啊!

报未选定要分列的数据,不知道该作何修改

追答

没看到原始数据情况,不清楚怎么回事……

温馨提示:答案为网友推荐,仅供参考
相似回答