Друзья, может помочь кто-нибудь подправить макрос ?
Макрос для печати в зависимости от условий в ячейках
Макрос для печати в зависимости от условий в ячейках
|
04.10.2023 06:42:18
Михаил Лебедев, спасибо огромное, очень клева получилось. Моих знаний точно не хватит такой написать. Вы большой молодец!!!
Еще маленькая просьба, подправить код, чтобы листы сохранялись в один PDF, без МО и ПО в конце. Два направления в одном файле PDF. Условия такие же если "v", то 2 направления, если "0" то 1. Пример: 703 Петров П.И.pdf Еще раз огромное спасибо, за оказанную помощь!!! |
|
|
|
|
Макрос для печати в зависимости от условий в ячейках
|
02.10.2023 13:47:23
Михаил Лебедев, спасибо огромное за оказанную помощь.
Но получается, макрос не срабатывает как нужно. Во вложенном файле, макрос Naprav1, проверяет в столбце А, наличие плюса и сохраняет пдф, и проверяет следующую строку. В итоге получается два пдф файла направления 1. Далее плюсы удаляются. В Вашем варианте получается нет цикла, т.е. он сохраняет вариант из первой строки. и дальше не идет. Также заметил при добавлении 3 строки, с наличием V, сохраняется только направление 1. Также, так как направления 2 штуки, нужно им присвоить разные имена при сохранении, Направление 1 в конце МО, направление 2 в конце ПО. Может я неправильно описал то что нужно в итоге(. Таблица наполняется данными на листе Заполнить, при помощи ВПР переносятся значения в листы с направлениями, для этого мы и ставим + в столбце A. Макрос проверяет наличие "+" в ячейке А2, если "+" есть данные вставляются на листы Направление 1 и 2, через ВПР. Далее сохраняет в пдф направление 1 формате 703 Петров П.И. МО Далее проверяет наличие "v" в ячейке J2, если стоит значит сохраняет направление 2, с именем 703 Петров П.И. ПО. Далее удаляет "+" в ячейке А2. И проверяет следующие ячейки соответственно A3 и J3, и так далее. Просто если не удалить "+" в предыдущей ячейке, через ВПР данные не подставятся со следующей строки. В принципе можно обойтись и без +, но я не знаю как. В голову пришло только такое решения для заполнения направлений. Сможете подправить код? Огромное спасибо ВАМ. |
|
|
|
|
Перенос гиперссылки на другой лист
Макрос для печати в зависимости от условий в ячейках
Изменить цвет ячейки в зависимости от даты
Изменить цвет ячейки в зависимости от даты
Изменить цвет ячейки в зависимости от даты
Изменить цвет ячейки в зависимости от даты
Изменить цвет ячейки в зависимости от даты
Подсчет значений в диапазоне по массиву условий, Упростить формулу
Подсчет значений в диапазоне по массиву условий, Упростить формулу
Подсчет значений в диапазоне по массиву условий, Упростить формулу
Подсчет значений в диапазоне по массиву условий, Упростить формулу
Подсчет значений в диапазоне по массиву условий, Упростить формулу
Макрос поиска дубликатов с последующим сложением и удалением
|
01.08.2022 10:13:12
Евгений Корнилов, извените не сразу понял как его установить, но вроде получилось. А какие дальнейшие действия нужно выполнить?
|
|
|
|
|
Макрос поиска дубликатов с последующим сложением и удалением
|
01.08.2022 10:12:13
evgeniygeo, спасибо огромное попробую, и отпишусь что получилось
|
|
|
|
|
Макрос поиска дубликатов с последующим сложением и удалением
Макрос поиска дубликатов с последующим сложением и удалением
Макрос поиска дубликатов с последующим сложением и удалением
|
01.08.2022 02:41:23
Всем привет.
Помогите подправить макрос. В таблице нужно оставить определенные столбцы (BCDENP), а остальные удалить. Во вновь полученной таблице сделать сортировку значение, и удалить дублирующие строки в столбце Material, но с суммированием значений из столбцов отдельно для Unrestricted и Blocked. В файле добавил описание. Количество строк может достигать 10000. И если, не сложно описать каждую строку кода для дальнейшего понимания. Заранее спасибо.
Изменено: - 01.08.2022 02:45:14
|
|||
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
Печать бланка при последовательном его заполнении из диапазона строк
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 10:32:21
vikttur, ничего не пойму мне нужно здесь предложить как назвать тему? Предлагаю такую Макрос автоматической печати при условии заполнения ячейки знаком +
|
|
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 10:24:40
vikttur, а как поменять название темы, что то не найду
|
|
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 10:19:30
Евгений Смирнов, спасибо огромное все заработало!! Всем спасибо за участие. Все работает как часики.
|
|
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 10:09:55
Mershik, Плюс ставиться для переноса данных с листа Данные, далее печатается бланк заполненный из строки где стоит +. Дальше макрос должен стереть этот + и поставить в ячейку ниже. Если будет два плюса в одном столбце данные не подставятся на лист Бланк. Просто для переноса данных на лист Бланк я использовал функцию ВПР.
|
|
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 09:36:31
Mershik, мне нужно чтобы макрос подставлял + в ячейку А2 и печатал лист Бланк, далее отчищал ячейку и переходил к следующей А3,
подставлял + в ячейку А3 и печатал лист Бланк, далее отчищал ячейку и переходил к следующей А4 и т.д. Так до 100 ячейки. Пример приложил, спасибо |
|
|
|
|
Печать бланка при последовательном его заполнении из диапазона строк
Печать бланка при последовательном его заполнении из диапазона строк
|
25.02.2021 08:21:33
Всем привет, ребята подскажите пожалуйста как мне проще написать данную команду на 100 ячеек. Спасибо.
|
|||
|
|
|
Макрос для печати для определенных листов, Печать определенных листов
|
20.07.2020 14:05:00
Добрый день уважаемые участники форума!!! Хотел попросить у Вас помощи. Так как не особо понимаю в программировании, не смог найти подходящий для себя вариант. Вообщем цель следующая, нужно чтобы при нажатии кнопки Печать (Сохранить в PDF) макрос анализировал установлен ли + напротив строки, если да, то отправлял на печать (сохранял в PDF) лист. Данными из этой строки где установлен +, заполняются строки на листе Бланк ПН. Также хотелось узнать есть ли возможность при печати выбирать какие страницы печатать при определенном условии. Например печатаем страницы 1,2,3 если в ячейке F4 1, или печатаем страницы 2,4,6 если в ячейке F5 2. Заранее благодарен. Пример во вложении.
Вот есть примеры, но я не пойму как их мне отредактировать под свои нужды. Sub ВPDF() Const sPROTOCOL_WSH_NAME As String = "Данные" With ThisWorkbook.Worksheets(sPROTOCOL_WSH_NAME) Dim arr(): arr = .Range("A4:A" & .Cells.SpecialCells(xlCellTypeLastCell).Row).Value End With ' ThisWorkbook.Worksheets(sPROTOCOL_WSH_NAME) Dim i As Long, j As Long: j = UBound(arr, 2) Dim aSh(), li As Long Dim t As String On Error Resume Next For i = 1 To UBound(arr, 1) If StrComp(arr(i, j), "+", vbTextCompare) = 0 Then ReDim Preserve aSh(li) aSh(li) = CStr(arr(i, 1)) li = li + 1 t = t + " " + CStr(arr(i, 1)) End If Next i If li = 0 Then MsgBox ("Поставь + в столбец Печать, для сохранения файла!!!!") End If t = "Паспорт" + t Worksheets(aSh).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ ThisWorkbook.Path & "\" & t, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False On Error GoTo 0 Application.StatusBar = False Worksheets("Данные").Select End Sub Sub Печать1() Const sPROTOCOL_WSH_NAME As String = "Данные" With ThisWorkbook.Worksheets(sPROTOCOL_WSH_NAME) Dim arr(): arr = .Range("A6:P" & .Cells.SpecialCells(xlCellTypeLastCell).Row).Value End With ' ThisWorkbook.Worksheets(sPROTOCOL_WSH_NAME) Dim i As Long, j As Long: j = UBound(arr, 2) Dim t As Long On Error Resume Next For i = 1 To UBound(arr, 1) If StrComp(arr(i, j), "+", vbTextCompare) = 0 Then t = t + 1 With ThisWorkbook.Worksheets(CStr(arr(i, 1))) If Err = 0 Then Application.StatusBar = "Печатаем лист """ & .Name & """" .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False Else Err.Clear End If ' Err = 0 End With ' ThisWorkbook.Worksheets(arr(i, 1)) End If Next i On Error GoTo 0 Application.StatusBar = False If t = 0 Then MsgBox ("Поставь + в столбец Печать, для сохранения файла!!!!") End If End Sub
Изменено: - 20.07.2020 23:36:35
(Добавил скрипт)
|
|
|
|
|