我在论坛上看到有关添加到宏的类似问题,但没有一个能为我解决问题。
现在,当我运行下面的宏时,它会创建一个只有一张工作表的新工作簿。我需要它在新工作簿中创建3张而不是1.请帮助
Sub RunSupplierOTD()
'
' RunSupplierOTD Macro
'
'
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Range("H49").Select
ActiveCell.FormulaR1C1 = "Vendor Name"
Range("I49").Select
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
Range("A49:S49").Select
Range("S49").Activate
Selection.AutoFilter
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveSheet.Range("$A$49:$S$177").AutoFilter Field:=7, Criteria1:=Array("#" _
, "12633", "79204", "79247", "79371", "79479", "79498", "79583", "IC3000"), Operator _
:=xlFilterValues
End Sub
答案 0 :(得分:1)
如何在Excel VBA中向工作簿添加工作表的OP问题的一个答案是使用以下代码:
Sheets.Add After:= Sheets(Sheets.Count)
我要说的一件事是,在Excel中记录宏会产生负载和不必要的代码。它教给你的一件事是如何做某些事情。在问题的评论中,OP向Excel VBA开始提出了一个非常常见的问题,即如何选择诸如工作表和单元格之类的对象。有很多方法可以做到这一点,每种方法都使用不同的方法,如“Application.Goto”。
可以在下面的链接中找到一个很好的参考资料,我建议任何想要开始使用Excel VBA阅读此链接的人
http://support2.microsoft.com/kb/291308
以及录制宏并检查生成的代码。
Hth,O