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

Страницы: 1 2 3 След.
Вставка текста из нескольких ячеек в одну (Без формул)
 
Универсальный макрос на все случай жизни.

Выбираем ячейки, которые нужно перенести по типу «СЦЕПИТЬ». Затем запускаем макрос через кнопку или другим удобным способом. После запуска макрос попросит указать, куда должна появиться информация — выбираем нужное место и готово! =)


Код
Sub Selectmacros()
    Dim selectedRange As Range
    Dim outputCell As Range
    Dim resultString As String
    Dim cell As Range
    
    ' Получаем диапазон выделенных ячеек
    Set selectedRange = Selection
    
    ' Проверяем, выделены ли ячейки
    If selectedRange.Count = 0 Then
        MsgBox "Выберите хотя бы одну ячейку.", vbExclamation
        Exit Sub
    End If
    
    ' Формируем строку из содержимого выбранных ячеек
    For Each cell In selectedRange
        If Len(resultString) > 0 Then
            resultString = resultString & ", "
        End If
        resultString = resultString & Trim(cell.Text)
    Next cell
    
    ' Выбрать ячейку для вывода строки
    On Error Resume Next
    Set outputCell = Application.InputBox("Укажите ячейку для отображения результата:", Type:=8)
    On Error GoTo 0
    
    If Not outputCell Is Nothing Then
        outputCell.Value = resultString
    Else
        MsgBox "Операция отменена.", vbInformation
    End If
End Sub


(resultString = resultString & ", " можете менять на другой символ по желанию.)


Чтобы запустить макрос комбинацией клавиш Alt + Enter, нужно назначить горячие клавиши в настройках Excel.

Чтобы настроить быстрое выполнение макроса:

Назначение горячей клавиши для макроса:
Перейдите во вкладку Файл → Параметры → Настроить ленту.
Кликните внизу окна ссылку «Настройка клавиатуры…» (либо откройте Вид → Макросы → нажмите на значок настроек рядом с полем поиска макросов и выберите пункт Назначить сочетания клавиш).
В появившемся окне найдите категорию макросов (Макросы) и выберите ваш макрос (он называется Selectmacros). Если макрос не появился, убедитесь, что он сохранён в файле рабочей книги (*.xlsm), иначе макрос может быть скрыт.
Поле ввода комбинации клавиш оставьте пустым и введите вручную сочетание клавиш Alt + Enter.
Щёлкните кнопку Назначить и закройте настройки.

Итоговый алгоритм действий:
Выделение нужных ячеек.
Нажатие Alt + Enter для запуска макроса.
Выбор целевой ячейки, куда вставляется результат.


Как-то так )
Изменено: Олег м - 20.06.2025 16:55:28
формула ЕСЛИОШИБКА не работает для Пусто или "0"
 
"ПОКРАСКА %% выполнения"
Проблема заключается в том, что проверка условия <>"0" работает некорректно для числовых значений. Это связано с тем, что символ "0" воспринимается как текстовая строка, а не число. Когда ваша формула получает числовое значение 0, оно не считается текстом, и условие выполняется неправильно.
Для правильного решения используйте проверку на равенство числу 0:
=ЕСЛИОШИБКА(ЕСЛИ(ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 30; 0)=0; ""; ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 30; 0)); "")


"Доковая часть %% выполнения"
Формула в Excel, которую вы привели, проверяет наличие значения в ячейке и выводит пустое значение (" ") вместо нуля. Если вы хотите убрать нули из отображаемых результатов, но оставить возможность вывода значений в виде текста или чисел, можете изменить условие следующим образом:
=ЕСЛИОШИБКА(ЕСЛИ(ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 40; 0)="";" ";ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 40; 0)); "")



Можно еще эту формулу помучить =)
=ЕСЛИОШИБКА(ЕСЛИ(ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 40; 0)>0; ГПР(СВОД!$P$1; ГР!$A$9:$BJ$58; 40; 0); ""); "")
Изменено: Олег м - 20.06.2025 12:31:41
Дописать функцию в макрос сохранить в формате excel
 
Спасибо, Владимир.

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

Задача в чем:

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

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

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

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

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

Но стремление к росту есть ))
Ошибка при использование промежуточных
 
Добрый день.

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

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

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

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

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

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

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

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

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


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

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


Спасибо за помощь.
Постоянно слетает макрос, Проблема с файлом
 
файл Норм.xlsm лист 3 нормальный где и сидит макрос

в
файл Дифект.xlsm лист 3 пустои и лист 4  создается (или меняется) сам по себе.
Постоянно слетает макрос, Проблема с файлом
 
Файл храница на рабочем столе

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

Работают в 2016 версии excel, что самое интересное что в 2021 версии excel такое не было замечено.

Нет, на маке не работают с файлом.
Изменено: Олег м - 20.11.2023 17:16:52
Постоянно слетает макрос, Проблема с файлом
 
Добрый день уважаемые ГУРУ.

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

После заполнения таблицы ведет себя хорошо, после много кратного сохранения и закрытия документа нет косяков.
Но на второй день при открытии документа все слетает и таблица деформируется, повторяется уже 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
 
Hugo,
Спасибо, попробую разобраться.
Единственно при сохранении слетают формулы, пример 7 строка не сохраняет текст - значения. а выдаёт (#ССЫЛКА!)
Сохранить выбранный диапазон в формате XLSX
 
Hugo,
Вот сам файл
Сохранить выбранный диапазон в формате XLSX
 
pantel1987,

Есть база где через макрос генерирует документ выдергивая нужную информацию из базы.

Этот макрос может сохранить (формировать) десятки документов одним нажатием кнопки, но только в формате PDF.

Нужно чтобы он сохранял в формате .xlsx или .xls это нужно чтобы другой человек мог редактировать какой-то определенный документ отправленный ему по почте, а не передавать ему саму базу где сидит все макросы и вся база
Сохранить выбранный диапазон в формате 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
Ошибка в части содержимого в книге, не могу выявить причину.
 
Hugo,
Спасибо большое, пока полёт нормальный.
Ошибка в части содержимого в книге, не могу выявить причину.
 
Хотя-бы подскажите или намекните где капать, пожалуйста.
Ошибка в части содержимого в книге, не могу выявить причину.
 
evgeniygeo,
К сожалению это уже не возможно.
Ошибка в части содержимого в книге, не могу выявить причину.
 
Добрый день всем!

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

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

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

Файл прикрепил.
Как победить 0
 
RAN,

Пробовал, к сожалению ячейка становится пустой. Текст исчезает.

Нашел решения с помощью ТЕКСТ
Изменено: Олег м - 04.06.2023 13:43:15
Как победить 0
 
IKor,

Код
=ЕСЛИОШИБКА(1/@ИНДЕКС(1/Главная[на отметке];_Главная);"")

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

Пробовал так, текст исчезает вообще, строка пустой становиться.

Честно не могу понять как победить этот 0
Как победить 0
 
Ігор Гончаренко, Точнее в закладке "Главная" G3. Этот фокус я пробовал, да этом методом убирается 0, но тут только один минус что если забудешь про пробел то в документе будет постоянно фигурировать 0.

Может другую формулу использовать?
Изменено: Олег м - 30.05.2023 15:37:56
Как победить 0
 
Ігор Гончаренко,  Спасибо большое. Только не совсем понял в чем была проблема.
Изменено: Олег м - 30.05.2023 14:53:19
Как победить 0
 
Ігор Гончаренко, Вот сам файл


RAN, в 2021 не помогло
Изменено: Олег м - 04.06.2023 13:43:33
Как победить 0
 
Добрый день.
Пожалуйста, подскажите как победить 0 в пустой ячейке.

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

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


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


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

Измените формат ячейки где указывается время. Выберите формат: тип ДАТА + Время и будет вам счастье
Сохранить файлы в формате pdf, xls, word
 
Я пытался прикрутить код чтобы сохранял именно область печати и каждый файл сохранялися под своим названием линии, но понимаю что что-то делаю не правильно и код на меня ругается.

Если я бы знал как будет правильно, я бы не просил помощи! Я только начинаю макрос изучать и я признаю что пока я чайник в этом. Все мы были зелёные в этом деле. Самое обидное что некоторые кто знают хорошо макросы, смеются над чайниками которые ещё не понимают как пишется правильно макрос.  Это самое обидное!


Код
Private Sub CommandButtonXls_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 & .List(i)
    With Sheets(ActSh)
    .Range(.PageSetup.PrintArea).ActiveSheet.SaveAs , filename:=filename & ".xls", FileFormat:=56, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    
    End With
    j = j + 1
End If
Next
MsgBox "Создано " & j & " файлов ", , "ГОТОВО!"
End With
End Sub
Изменено: Олег м - 10.03.2023 16:40:18
Сохранить файлы в формате pdf, xls, word
 
Вопрос один, есть возможность помочь?
Сохранить файлы в формате pdf, xls, word
 
Очень срочно нужно, с меня пиво как благодарность за помощь.
Сохранить файлы в формате pdf, xls, word
 
Вот сам код

Код
Option Explicit
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 & .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
Сохранить файлы в формате pdf, xls, word
 
Добрый день!

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

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

Способами всем кто откликнулся.
Изменено: Олег м - 21.03.2023 21:58:07
Страницы: 1 2 3 След.
Наверх