添加到现有宏

时间:2014-10-06 17:14:09

标签: vba excel-vba excel-2010 excel

我在论坛上看到有关添加到宏的类似问题,但没有一个能为我解决问题。

现在,当我运行下面的宏时,它会创建一个只有一张工作表的新工作簿。我需要它在新工作簿中创建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

1 个答案:

答案 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