Вопрос, наверное, простой, но решение никак не дается, не смогла найти ответ! Очень прошу помочь!
Имеется файл, состоящий из 2 видов документов, перелинкованных между собой: инвойс и к нему 5 спецификаций. И инвойс и каждая из 5 спецификаций состоят из двух листов, неразрывно связанных между собой, они идут как один документ.
Макрос, написанный для спецификации номер 1, делает копию двух листов, успешно сохраняет в той же папке, где расположена книга и замещает в определенной зоне формулы значениями. Но, увы мне, этого недостаточно, к моему огромному сожалению! Вопрос крайне важный, обвал работы и очень нужно ускориться! А я не знаю, как сделать так, чтобы после выполнения этого успешного шага макрос обращался к тому же инвойсу, ячейка D14 и, если значение ячейки не равно 0, делал те же действия уже со спецификацией номер 2(!). И так до ячейки D17 инвойса (то есть спецификации номер 5).
Когда я говорю о номере спецификации, я имею в виду порядковый номер страницы в книге. Первые две страницы отданы инвойсу, вторые две первой спецификации, следующие две второй и так далее до пятой.
В случае, если D14 равна нулю никакие действия больше не нужны, достаточно того, что уже есть. Но если не равна нулю, то макрос должен проверить значение D15 и выполнить то же, что делает для спецификации номер 1, но уже для спецификации номер 2, потом обратиться к D16 и D17 и тогда только остановиться.
Проблема для меня в том, что макрос должен обращаться после каждой проверки с результатом не равно нулю к следующим спецификациям и сохранять их. А у них разные имена вида текст+номер, текст один и тот же, а номера разные, то есть различающиеся только порядковым номером! Как описать макросу как перейти к спецификации номер 2 и так далее до 5 понятия не имею. Сделать вариабельным номер в имени страницы не удалось((( Решение искала, но не нашла. На краткосрочных курсах VBA тоже не помогли.
Сейчас код выглядит так:
[vba]
Код
Sub CleanerSpec()
Dim c As Variant Dim p As Variant Dim SpecNum As String
c = Range("K27") p = Range("G20") SpecNum = Range("E23")
Sheets("Specification_1").Select Sheets("Specification_1").Activate Range("A1:J26").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With Range("K29").Select
End Sub
[/vba]
Заранее огромная и искренняя благодарность за помощь!!!
Вопрос, наверное, простой, но решение никак не дается, не смогла найти ответ! Очень прошу помочь!
Имеется файл, состоящий из 2 видов документов, перелинкованных между собой: инвойс и к нему 5 спецификаций. И инвойс и каждая из 5 спецификаций состоят из двух листов, неразрывно связанных между собой, они идут как один документ.
Макрос, написанный для спецификации номер 1, делает копию двух листов, успешно сохраняет в той же папке, где расположена книга и замещает в определенной зоне формулы значениями. Но, увы мне, этого недостаточно, к моему огромному сожалению! Вопрос крайне важный, обвал работы и очень нужно ускориться! А я не знаю, как сделать так, чтобы после выполнения этого успешного шага макрос обращался к тому же инвойсу, ячейка D14 и, если значение ячейки не равно 0, делал те же действия уже со спецификацией номер 2(!). И так до ячейки D17 инвойса (то есть спецификации номер 5).
Когда я говорю о номере спецификации, я имею в виду порядковый номер страницы в книге. Первые две страницы отданы инвойсу, вторые две первой спецификации, следующие две второй и так далее до пятой.
В случае, если D14 равна нулю никакие действия больше не нужны, достаточно того, что уже есть. Но если не равна нулю, то макрос должен проверить значение D15 и выполнить то же, что делает для спецификации номер 1, но уже для спецификации номер 2, потом обратиться к D16 и D17 и тогда только остановиться.
Проблема для меня в том, что макрос должен обращаться после каждой проверки с результатом не равно нулю к следующим спецификациям и сохранять их. А у них разные имена вида текст+номер, текст один и тот же, а номера разные, то есть различающиеся только порядковым номером! Как описать макросу как перейти к спецификации номер 2 и так далее до 5 понятия не имею. Сделать вариабельным номер в имени страницы не удалось((( Решение искала, но не нашла. На краткосрочных курсах VBA тоже не помогли.
Сейчас код выглядит так:
[vba]
Код
Sub CleanerSpec()
Dim c As Variant Dim p As Variant Dim SpecNum As String
c = Range("K27") p = Range("G20") SpecNum = Range("E23")
...успешно сохраняет в той же папке, где расположена книга и замещает в определенной зоне формулы значениями. Но, увы мне, этого недостаточно, к моему огромному сожалению! Вопрос крайне важный, обвал работы и очень нужно ускориться! А я не знаю, как сделать так, чтобы после выполнения этого успешного шага...
Офф Смеркалось... По теме - SvetlanaSK, загляните в правила, п.3
Цитата (SvetlanaSK)
...успешно сохраняет в той же папке, где расположена книга и замещает в определенной зоне формулы значениями. Но, увы мне, этого недостаточно, к моему огромному сожалению! Вопрос крайне важный, обвал работы и очень нужно ускориться! А я не знаю, как сделать так, чтобы после выполнения этого успешного шага...
Офф Смеркалось... По теме - SvetlanaSK, загляните в правила, п.3KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728