Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Finswimmer, у меня все равно работает он все делает 1 раз. Видимо из-за того, что после сохранения акта "как" он сам закрывается. Я попробовала прописать в начале макроса еще и открытие "акт.xls", но все равно не выходит.
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Цитата
Finswimmer написал:
Объясните конкретно работу макроса. Он должен брать диапазон из файла список и копировать в файл акт, и под определенным именем сохранять?
Да, именно это я от него и хочу...

Как же тогда заставить его каждый раз делать все в новом файле?
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Теперь у меня вот так:
Но макрос сохраняет только 1 файл, под номером два и дальше не повторяет. А нужно 3, 4 и т.д. В чем ошибка?
Код
Sub Сохранение1()
'
' Сохранение1 Макрос
'
    Application.Workbooks.Open ("Z:\Общая 2015\Проекты 2015\Брянск\Отгрузка\Акт\Акт.xls")
    Windows("Список.xlsx").Activate
For i = 2 To 71
    If Range("A" & i) = "" Then Exit For
    Range("B" & i).Select
    Selection.Copy
    Windows("Акт.xls").Activate
    Range("B7:AG7").Select
    ActiveSheet.Paste
    Windows("Список.xlsx").Activate
    Range("A" & i).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Акт.xls").Activate
    Range("S3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("S3").Select
    Selection.Copy
    ActiveWorkbook.SaveAs Filename:="Z:\Общая 2015\Проекты 2015\Брянск\Отгрузка\Акт\" & Range("S3") & ".xls"
        Next
End Sub
Изменено: Gknopka - 13.11.2015 16:46:39
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Копалась еще и еще... Вопрос, как сохранить файл под названием взятым из буфера обмена? Мне без этого даже не проверить, работает или нет :)
Изменено: Gknopka - 13.11.2015 16:59:10
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Sanja, хм, честно говоря строчку с IRow  я копировала из другого макроса и не до конца понимаю ее суть. Но меня интересуют значения I от 2 до самого конца, так как черт знает, сколько их окажется.
Видимо нужно указать это iRow? Как это сделать?
Макрос для повторной вставки значений из списка и сохранение под названиями "& I"
 
Добрый всем день. Подскажите, где и что я делаю не так:)

У меня есть пример акта приема передачи (Акт.xls), есть список заказчиков (Список.xls), я вставляю значения из Списка в акт и сохраняю каждый под своим названием (значение из ячейки "S3" Акта), то есть 1, 2, 3 и т.д.. Но что-то не выходит у меня...
Код
Sub Сохранение()
'
' Сохранение Макрос
'
    Windows("Список.xlsx").Activate
For i = 2 To lRow
    If Range("A" & i) = "" Then Exit For
    Range("B" & i).Select
    Selection.Copy
    Windows("Акт.xls").Activate
    Range("B7:AG7").Select
    ActiveSheet.Paste
    Windows("Список.xlsx").Activate
    Range("A" & i).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Акт.xls").Activate
    Range("S3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Имя_для_сохранения$ = "S3"
    ActiveWorkbook.SaveAs Filename:= _
        "Z:\Общая 2015\Проекты 2015\Брянск\Отгрузка\Акт\Имя_для_сохранения.xls", FileFormat:=xlExcel8 _
        , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
        Next
End Sub
Макрос не выдает никаких ошибок, просто не происходит ничего...
Изменено: Gknopka - 13.11.2015 14:50:18
Перенос цен по артиклу с помощью VBA
 
StepanWolkoff, все гениальное просто! Спасибо Вам большое, у меня все получилось!
Перенос цен по артиклу с помощью VBA
 
StepanWolkoff, я даже не сталкивалась с этой командой никогда :) Спасибо за идею, сейчас поковыряюсь.
Перенос цен по артиклу с помощью VBA
 
Ситуация такая. Есть два файла, один прайс от поставщика, второй наш. Нужно наладить макрос переноса цен при поиске по артиклу.
Сначала попробовала через "Запись макроса", но там не все вышло :)
Код
Sub Замена_Цен()
'
' Замена_Цен Макрос
'

'
    Sheets("Лист1").Select
    Range("A2").Select
    Selection.Copy
    Windows("Дошкольное оборудование.xlsm").Activate
    Sheets("Игровые пособия").Select
    Cells.Find(What:="1001", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Windows("Прайс_Громов.xls").Activate
    Range("D2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Дошкольное оборудование.xlsm").Activate
    Range("E41").Select
    ActiveSheet.Paste
    Windows("Прайс_Громов.xls").Activate
    Range("A3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Дошкольное оборудование.xlsm").Activate
    Cells.Find(What:="1002", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
    Windows("Прайс_Громов.xls").Activate
    Range("D3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Дошкольное оборудование.xlsm").Activate
    Range("E42").Select
    ActiveSheet.Paste
    Windows("Прайс_Громов.xls").Activate
End Sub
1.Попыталась заменить Cells.Find(What:="1001", After:=ActiveCell, LookIn:=xlFormulas, LookAt _        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
       False, SearchFormat:=False).Activate на "Paste", чтобы бралось не конкретное значение, а из буфера обмена, но это не сработало
2. Windows("Дошкольное оборудование.xlsm").Activate    Range("E41").Select
   ActiveSheet.Paste
Тут не понимаю, как сделать, чтобы бралось опять же не конкретное значение E41, а значение из пункта 1, но в столбце E.

Прошу подсказать, если кто сможет. Файлы Прайс и Дошкольное оборудование в приложении.
Остановка макроса если ячейка пуста
 
Sanja, Вы гений! Спасибо!
А можете объяснить, чтобы знать, что означает
Код
Application.ScreenUpdating = False
lRow = Лист1.Cells(Rows.Count, 3).End(xlUp).Row
Остановка макроса если ячейка пуста
 
Как я понимаю, этот формат поддерживает все. В Макрос1 закралась еще какая-то ошибка, он вставляет значение колонки "C" в B10:H10  только 1 раз, а дальше печатает эту строчку пустую.
Остановка макроса если ячейка пуста
 
Пока ничего не понимаю( Действительно макросы пропали. Вот я ламер... Сейчас восстановлю  и выложу.

Smiley, логика такая. В B10:H10 вставляются значения из колонки C  и печатается столько копий, сколько в колонке D в той же строке.
Если значение D пустое, то макрос останавливается
Идея всего этого проста, у нас в гос. контрактах бывает 100-200 номенклатур и разного количества. на каждую сделать типовой гарантийный талон очень много времени отнимает.
Остановка макроса если ячейка пуста
 
Smiley, выложила сообщением выше :)
Остановка макроса если ячейка пуста
 
Цитата
Sanja написал:
Писал на коленке, проверьте. А лучше файл приложите (соответствующий п.2.3 Правил форума)  
Не выходит, ругается :(

Файл приложила, там сейчас 2 кнопки. 1 - то, что писала я, 2 - то, что Вы предложили.
Остановка макроса если ячейка пуста
 
Добрый день! Подскажите, пожалуйста. Я новичок в VBA, пришлось писать макрос, чтобы облегчить работу. Но у меня не выходит что-то :)

Sub Макрос1()
'
' Макрос1 Макрос
'
   Range("C5";).Select
   Selection.Copy
   Sheets("Лист2";).Select
   Range("B10:H10";).Select
   ActiveSheet.Paste
   Sheets("Лист2";).Select
   ActiveWindow.SelectedSheets.PrintOut Copies:=CInt(Sheets("Лист1";).Range("D5";))
   If Range("D5";) = "" Then  как сделать, чтобы если ячейка не пустая, то макрос продолжал работать? а то у меня останавливается
   End
End If
   
   Range("C6";).Select
   Selection.Copy
   Sheets("Лист2";).Select
   Range("B10:H10";).Select
   ActiveSheet.Paste
   Sheets("Лист2";).Select
   ActiveWindow.SelectedSheets.PrintOut Copies:=CInt(Sheets("Лист1";).Range("D6";))
   If Range("D6";) = "" Then
End
End If

   Range("C7";).Select
   Selection.Copy
   Sheets("Лист2";).Select
   Range("B10:H10";).Select
   ActiveSheet.Paste
   Sheets("Лист2";).Select
   ActiveWindow.SelectedSheets.PrintOut Copies:=CInt(Sheets("Лист1";).Range("D7";))
   If Range("D7";) = "" Then
End
End If

Также вопрос, есть ли возможность как-то упростить этот макрос? У меня тут кусок на три "строчки", а их 200! И все повторяется меняются только значения по столбцам C и D
Страницы: 1
Наверх