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

Страницы: 1
Дописать функцию в макрос сохранить в формате excel
 
Добрый день!

Задача в чем:

Есть макрос который создает и сохраняет каждый документ отдельным файлом в формате ".PDF" их может быть сотни (тысячи) при желании.
Также этот макрос даёт выбор или сохранить в формате PDF или только отправить на печать каждый документ отдельно.

Нужно дописать в макросе чтобы он мог сохранять каждый документ в формате "excel" тоже отдельным файлом без сохранения формул (диспетчер имен) и т.д если такое там будет. Тобишь чистым документом.

Одним словом добавить в окне где кнопка Печать, ещё одну функцию сохранить в формате excel.

Займёт я дума не больше 30 минут до часа.
Изменено: Олег м - 01.04.2024 14:53:39
Ошибка при использование промежуточных
 
Добрый день.

Помогите, пожалуйста, решить задачу с "промежуточными итогами".

Когда в ячейку ставлю формулу =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;$I$7:I7) выдаёт "0", возможно но не уверен что конфликт происходит из-зи того что в соседней ячейке куда ссылается ПРОМЕЖУТОЧНЫЕ стоит "ИНДЕКС;ПОИСКПОЗ" решения пока я не нашёл.

ПРОМЕЖУТОЧНЫЕ нужны для макроса которые скрывает пустые строки при заполнении если такие имеется.

Буду признателен если у кого-то есть макрос с автонумерацией строк игнорируя "пустые строки" и "0" в ячейке если такое имеется.

Файл прикрепил.

Спасибо за помощь.
[ Закрыто] ПРОМЕЖУТОЧНЫЕ.ИТОГИ
 
Добрый день.

Помогите, пожалуйста, решить проблему с "промежуточными итогами".

Когда в ячейку ставлю формулу =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;$I$7:I7) выдаёт "0", возможно что конфликт происходит из-зи того что в соседней ячейке  куда ссылается ПРОМЕЖУТОЧНЫЕ стоит "ИНДЕКС;ПОИСКПОЗ" но решения я не нашёл.

ПРОМЕЖУТОЧНЫЕ нужны для макроса которые скрывает пустые строки при заполнении если такие имеется.


Буду признателен если у кого-то есть макрос с автонумерацией строк игнорируя "пустые строки" и "0" в ячейке если такое имеется.

Файл прикрепил.


Спасибо за помощь.
Постоянно слетает макрос, Проблема с файлом
 
Добрый день уважаемые ГУРУ.

Помогите решить проблему с макросом и понять почему макрос повреждает документ.

После заполнения таблицы ведет себя хорошо, после много кратного сохранения и закрытия документа нет косяков.
Но на второй день при открытии документа все слетает и таблица деформируется, повторяется уже 2 день подряд.

И еще одна просьба
При добавление в таблице D2 из выпадающего списка (Наименование материалов ) в таблице F2 из выпадающего списка (Ру PN, Мпа (кгс/см2)) цифры с точкой (пример 4.6) цифры слетают и показывает только 4 вместо 4.6 если запетая 4,6 то все нор, как это можно исправит?

в самом файле
Пример для форума (таблица D2) и (таблице F2) перед началом работы с документом (Норм.xlsm) надо нажать кнопку "Обновить списки" и тогда появиться выпадающие списки (таблица D2)

Вся информация из выпадающего списка храница в вкладке "DATA"


Прикрепил файл
Норм.xlsm - (нормальный файл)
Дифект.xlsm - (повреждённый файл) этот файл становится таким после открытия на второй день.


Спасибо заранее за помощь.
Изменено: Олег м - 21.11.2023 06:38:05
Сохранить выбранный диапазон в формате XLSX
 
Добрый день ребята.
Помогите разобраться или подскажите как будет правильно.

Есть 2 кнопки: сохранить диапазон листа в формате PDF и XLSX. Так как я только начинаю изучать макрос, пока немного коряво выходит.

Проблема в сохранения в формате XLSX


Код для PDF
Код
Private Sub CommandButtonPdf_Click()
Dim i, j, x1, x2
Dim PathDbf$, filename$, ActSh$
PathDbf = GetFolderPath("Выберите папку для сохранения файлов", ThisWorkbook.path) 

' Задаем имя папки
If PathDbf = "" Then Exit Sub

' Выходим, если имя листа не выбрано из активного листа
ActSh = ActiveSheet.Name

j = 0
With Me.ListBoxSpec
For i = 0 To .ListCount - 1
    If .Selected(i) = True Then
    'MsgBox .List(i)
    Range(nNomerLinii) = .List(i)
    'filename = PathDbf & Format(i, "0") & ". " & ActSh & " - " & .List(i)
    filename = PathDbf & ActSh & " - " & .List(i)
    With Sheets(ActSh)
    .Range(.PageSetup.PrintArea).ExportAsFixedFormat Type:=xlTypePDF, filename:=filename & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    j = j + 1
End If
Next
MsgBox "Создано " & j & " файлов pdf", , "ГОТОВО!"
End With
End Sub



Выдает ошибку "Variable not defined"
Код для XLSX
Код
Private Sub CommandButtonExcel_Click()
Dim i, j, x1, x2
Dim PathDbf$, filename$, ActSh$
PathDbf = GetFolderPath("Выберите папку для сохранения файлов", ThisWorkbook.path) 

' Задаем имя папки
If PathDbf = "" Then Exit Sub

' Выходим, если имя листа не выбрано из активного листа
ActSh = ActiveSheet.Name

j = 0
With Me.ListBoxSpec
For i = 0 To .ListCount - 1
    If .Selected(i) = True Then
    'MsgBox .List(i)
    Range(nNomerLinii) = .List(i)
    'filename = PathDbf & Format(i, "0") & ". " & ActSh & " - " & .List(i)
    filename = PathDbf & ActSh & " - " & .List(i)
    With Sheets(ActSh)
    .Range(.PageSetup.PrintArea).ExportAsFixedFormat Type:=xlTypeXLSX, filename:=filename & ".xlsx", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    j = j + 1
End If
Next
MsgBox "Создано " & j & " файлов Excel", , "ГОТОВО!"
End With
End Sub



В теории должно быть правильно, но почему-то выдаёт ошибку  "Variable not defined"

Все коды находится в одном UserForm
Изменено: Олег м - 17.07.2023 09:53:38
Ошибка в части содержимого в книге, не могу выявить причину.
 
Добрый день всем!

Помогите, пожалуйста, решить следующую проблему.
Есть база с макросом, после добавления новой строки или нажатья кнопки "Обновить списки" вроде все хорошо, но после сохранения файла и повторного открытия появляется окно с ошибкой "Ошибка в части содержимого в книге".

Самое интересное если удалить все до 7 строки и сохранить файл, ошибка исчезает и документ открывается нормально.

Помогите, пожалуйста, победить этот косяк.

Файл прикрепил.
Как победить 0
 
Добрый день.
Пожалуйста, подскажите как победить 0 в пустой ячейке.

Убрать галку в настройках - "отображать нулевые значения" не помогает.

формула еслиошибка тоже не влияет на 0
Код
=ЕСЛИОШИБКА(@ИНДЕКС(Главная[на отметке];_Главная);"")


Код
=ЕСЛИОШИБКА(СЦЕПИТЬ(ТИП!J3;" ";_Отметка);"")


К примеры есть 3 столбца с текстом где через СЦЕПИТЬ в другой вкладке указывается вид работ. Удалив текст из 2-х столбцов получается вот так:
Монтаж горячего водоснабжения 0 0
Код
=ЕСЛИОШИБКА(СЦЕПИТЬ(ТИП!I7;" ";_Отметка;" ";_КолЛистОпоры);"")
Изменено: Олег м - 30.05.2023 14:15:50
Сохранить файлы в формате pdf, xls, word
 
Добрый день!

Помогите, пожалуйста, решить вопрос с сохранением документов в разных форматах. Есть файл, макросы писал не я. Сам попытался сделать, но у меня это коряво выходит.

В закладке (СПЕЦИФИКАЦИЯ) есть кнопка печать где есть выбор сохранить файл в pdf или отправить на печать. Помогите, пожалуйста, добавить ещё 2 кнопки с возможностью сохранить в формате Excel и Word. Если не получается в Word, хотя-бы добывать возможность сохранять новый файл в Excel без формул или макросов.

Способами всем кто откликнулся.
Изменено: Олег м - 21.03.2023 21:58:07
Функция сцепить с помощью макроса
 
Добрый день!
Помогите решить задачку с функцией сцепить. Только начинаю первые шоги изучения макроса, но что-то не то делаю.
Смысл такой чтобы соединить 2 строки C и E и вставить в столбец D. Сцеплять начинает с 2 строки и вниз до последней строки где есть текст.
Пытался что-то написать, но пока не особо получается. То код молчит и 0 внимания, то excel виснет и только (ctrl+alt+delete) другое не помогает.

Сильно не ругайте :)
Вот сам код
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i As Integer
    Application.ScreenUpdating = False
  For i = 2 To Worksheet
    Cells(i, 4).Value = Cells(i, 3) & " " & Cells(i, 5)
  Next i
Application.ScreenUpdating = False
End Sub
Ошибка макроса при фильтре
 
Доброго времени суток, уважаемые знатоки VBA.

Помогите найти причину. Или что я делаю не так?

Вся причина работы с фильтрами совместно с макросом.

Что замечено при выборе фильтра.
Например:
В вкладке База - в НАИМЕНОВАНИЕ МАТЕРИАЛОВ выбираю в фильтре Анкер и запускаю макрос. После этого в вкладке Результат 1 и 2 - собирает Анкера, но не могу понять почему он цепляет и Анкер 1 (для теста) хотя выбираю только АНКЕР.

ШАГ 2
Если выбрать потом позицию ниже например ГАЙКИ и запустить макрос, он начинает странно работать. Начинает вставлять текст в строки из других колонок в кладке "Результат 1-2" и самое плохое что макрос УДАЛЯЕТ ВСЕ! с БАЗЫ что связана с ГАЙКАМИ. Одним словом удаляет любую позицию с базы которые в фильтре выберите. Кроме этого макрос делает копию того что выбрано в фильтре и вставляет в текс Базы поверх Гайки например. Это видно на скрине в нумерации строк слева.


Это скрин после того как запускаем макрос при выборе фильтра Наименования в вкладке БАЗА, который собирает по позициям в вкладке Результат 1-2

Изменено: Олег м - 14.11.2022 17:13:38
Повторяющиеся значения в одном столбце + Суммирования
 
Доброго времени суток, уважаемые знатоки VBA.

В очередной раз обращаюсь к Вам за помощью в макросе.

Есть макрос, который взят с простора интернета и капельку отредактирован, помогите, пожалуйста, немного дополнить его.
Макрос объединяет и суммирует вроде как нужно, только не хватает выстраивание в горизонт и выделения цветом повторов. Ниже описал как должно получится.

Хотелось бы чтобы в вкладке «База» проверял и выделяла дубликаты автоматический с A по G если есть совпадения в Наименование материалов по № по СМЕТЕ – это для исключения ошибок, так как база заполняется вручную и человек может 2 раза вставить одно и тоже.

Макрос уже работает только допилить нужно немного.
В вкладке «Как нужно1» (пример в самой вкладке) в столбце «№ Линии» нунжно чтобы вставляла все линии в горизонт и разделяла их через запитую (HC5036, LC5001, LC5009, MI4003, и т.д.), где попадается (встречается) с Наименованием материалов.

Заранее спасибо всем кто откликнулся.
Изменено: Олег м - 07.11.2022 13:43:42
Поиск слово без учета регистра
 
Добрый день!
Помогите, пожалуйста, с поиском текста / слов без учета регистра не получается у меня.
Что нужно дописать чтобы заставить TextBox Search искать слово в таблице без учета регистра?

Вот сам код
Код
Private Sub Label1_Click()

End Sub

Private Sub ListBoxSearch_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Master.TB_Code.Text = Me.ListBoxsearch.Column(0)
Master.NaimenovanieMateryal.Text = Me.ListBoxsearch.Column(1)
Master.NaimenovanieMateryal.SetFocus
Unload Me
End Sub
Private Sub ListBoxsearch_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Master.TB_Code.Text = Me.ListBoxsearch.Column(0)
Master.NaimenovanieMateryal.Text = Me.ListBoxsearch.Column(1)
Master.NaimenovanieMateryal.SetFocus
Unload Me
End Sub
Private Sub TextBoxSearchc_Change()
'Me.TextBoxSearchc.Text = StrConv(Me.TextBoxSearchc.Text, vbProperCase)
Dim i As Long
Me.ListBoxsearch.Clear
For i = 3 To Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
B = Len(Me.TextBoxSearchc.Text)
If Left(Sheet1.Cells(i, 4).Value, B) = Left(Me.TextBoxSearchc.Text, B) Then
Me.ListBoxsearch.AddItem Sheet1.Cells(i, 1).Value
Me.ListBoxsearch.List(ListBoxsearch.ListCount - 1, 0) = Sheet1.Cells(i, 1).Value
Me.ListBoxsearch.List(ListBoxsearch.ListCount - 1, 1) = Sheet1.Cells(i, 4).Value
Me.ListBoxsearch.List(ListBoxsearch.ListCount - 1, 2) = Sheet1.Cells(i, 11).Value 'тест
End If
Next i
End Sub
Private Sub UserForm_Initialize()
Me.TextBoxSearchc.Text = "1"
Me.TextBoxSearchc.Text = ""
End Sub
Изменено: Олег м - 16.09.2022 12:15:17
Подсчет количество листов PDF из конкретной папки.
 

Подсчет количество листов PDF из конкретной папки.

Доброго дня всем.

Есть у меня один макрос, который смотрит в папку и ищет формат PDF и выводит названия и количество листов PDF в excel.

Можно ли сделать или добавить в макрос, чтобы этот макрос смотрел и другие форматы как *doc. *word., *xlsx., *xlsm., *xls., как пример, и тоже выводило количество листов (не вкладок). Хотя если честно сомневаюсь, что это можно делать с excel файлом, но всё-таки если это можно, то будет супер.

Это больше нужно для того, чтобы собрать реестр документов с количеством листов документа.

Можно ли сделать чтобы макрос сам обновлялся без нажатья кнопки для обновления архива.

Извиняюсь за наглость. Можно добавить еще функцию чтобы отправлять документ из списка на печать по отдельность через UserForm или хатыбы через гиперссылки?

Этот макрос может кому-то будет полезен для сбора файла PDF если не получится.

Что лучше для ускорения обработки БАЗЫ.
 

Добрый день всем.

Что лучше сделать или как должно быть?

Есть база, но я пока еще только учусь и строго не судите.

Есть формулы, которые работают по многим критериям у меня они получились слишком массивные (тяжёлые). Как можно их укоротить чтобы при обработке не зависал процесс вычисления и комп не тормозил по 10 минут, а то и более?

Сам файл урезан (удалил около 7000 строк) так как он весит 60мб., заполняются по мере поступления информации.

Предложите, пожалуйста, свои вариант как это лучше сделать. Можно через макрос чтобы на автомате заполнял с библиотеки если видит что-то в ячейки. Может через диспетчер имён создав какую-то библиотеку чтобы оттуда черпало информацию, или укоротит формулу для ускорения процесса обработки.

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

Надеюсь, что правильно выразил мысли.

Спасибо заранее всем!

Глючит макрос или Формула
 
Добрый день!

Помогите, пожалуйста, подправить код в макросе или может что-то своё предложить. Код взят с форума, сам я только начинаю юзать макрос:)
Не могу понять в чем проблема, при выборе линии в СПЕЦИФИКАЦИЯ колонки начинают глючить, не срывает строки и самое интересное если перейти в лист база а потом обратно всё исправляется само.

Также помогите, пожалуйста, с формулой.
После выбора линии, подсчет строк занимает какое-то время и слихка подвисает если это делать на ноутбуке боле слабым чем стационарник (в базе может быть около 50000 строк).
Может я выбрал не правильную формулу? И это утяжеляет процесс обработки информации.


Спасибо заранее всем.
Автоматическое заполнение спецификации
 

Добрый день!

Уважаемые гуру, помогите, пожалуйста, разобраться с вопросом, сломал всю голову.

Очень прошу помочь с этой проблемой, пытался сам решить этот вопрос но постоянно натыкался на другие нюансы при заполнении спецификаций.

Есть файл с спецификацией по линиям с базой.
Нужно чтобы при выборе линии в верхнем правом углу автоматически заполняла сведение с базы которые относиться к выбранной линии, без нажатья какой-то кнопки (выполнить или заполнить) все на автомате.

Если в базе делать изменения или удалять наименования чего-то либо, то в спецификации при удалении наименования из базы автоматом удаляла строку из сведения (наименование), которому он относиться.
Также и наоборот если добавить что-то в базу в эту линию, автоматический это появляется в спецификации в сведения.
В спецификации заполняется только то, что относится к названию лини. Пример: СА1001-100-L1G 22. Другую линию не берет в счёт.

 

Если можно сделать макрос чтобы можно было выводить на печать одну линию или с какой-то линии по такой-то линии, с возможностью сохранить каждую линию в отдельном PDF файле при выборе галочки.

Если нет возможность помочь по макросу вывод на печать, то хатыбы помочь с автоматическим заполнением спецификации.

Заранее спасибо всем, кто откликнулся и помог.

Изменено: Олег м - 06.09.2022 08:05:33
Страницы: 1
Наверх