2014-10-06 7 views
1

Я вижу похожие вопросы на форуме о добавлении в макросы, но ни один из них не решил проблему для меня.Добавить в существующий макрос

Прямо сейчас, когда я запускаю макрос ниже, он создает новую книгу с одним листом в ней. Мне это нужно, чтобы создать 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

Запись добавить лист и добавить этот код дважды был бы мой совет – ojf

+0

бы я тогда просто скопировать весь макрос к существующему или же я просто скопировать часть кода и вставить его в существующий? Вот новый. Какую часть я копирую и где я вставляю? Sub AddNewSheet() ' ' AddNewSheet Макро ' ' Sheets.Add После: = Sheets (Sheets.Count) End Sub – user3067028

+0

этот бит .. Sheets.Add После: = Sheets (Sheets.Count) будет добавьте новый лист в конец книги каждый раз, когда вы запустите его. Поэтому, если вы добавили его дважды в конце своего макроса, в вашей книге будет еще 2 листа. Кстати, я не думаю, что ваш макрос фактически создает книгу. На самом деле, я думаю, вы могли бы перемотать весь код выше «ActiveSheet.Range (« $ A $ 49: $ S $ 177 »)», и это по-прежнему будет делать то же самое по существу. – ojf

ответ

1

Один ответ на OPS вопрос о том, как добавить лист в книгу Excel VBA является использовать следующий код:

Sheets.Add После: = Sheets (Sheets.Count)

Одна вещь, которую я хотел бы сказать, что записи макросов в Excel производит нагрузок и нагрузок ненужного кода. Одна вещь, которую он учит вам, это то, как делать определенные вещи. В комментариях к вопросу OP задает очень общий вопрос для людей, начинающих в Excel VBA, а именно, как выбирать такие объекты, как листы и ячейки. Существует много способов сделать это, каждый из которых использует разные методы, такие как «Application.Goto».

Хорошая ссылка можно найти по ссылке ниже, и я бы рекомендовал, кто ищет, чтобы начать работу в Excel VBA, чтобы прочитать эту ссылку

http://support2.microsoft.com/kb/291308

, а также записи макросов и исследующих полученный код.

Hth, O

Смежные вопросы