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

Страницы: 1
Типы файлов для сохранения книги макросом, Типы файлов для сохранения книги
 
Всем доброго времени суток!
стоит задача сохранения книги Excel в расширение *.ods
Подскажите как реализовать через макрос?
не знаю для данного формата какое значение использовать для параметра FileFormat

  • XLSX = 51
  • XLSM = 52
  • XLSB = 50
  • XLS = 56
  • TXT = 42
  • ODS = ???
Ссылка в макросе на другой лист из текущей книги
 
Добрый день!
Подскажите, как сделать ссылку в макросе на другой лист из текущей книги :
Код
  ActiveWorkbook.SaveAs path & Application.PathSeparator & ActiveSheet.Name & " " & Range("B10") & ".xlsx"

Вместо ячейки "B10" нужно указать "Лист1, ячейка B10"
Изменено: HYPNO - 22.11.2022 11:16:50
Суперскрыть / показать лист кнопкой
 
Хочу сделать одну кнопку (скругленный прямоугольник), со следующим функционалом:
При нажатии - показывается суперскрытый лист, если он виден - то скрывается.
При этом на кнопке будет изменяться текст.

Название фигуре (скругленному прямоугольнику) присвоил "кн_сводка"
Лист, с которым проводятся операции скрыть/показать - "Сводка"

Подскажите в чем ошибка?
Код
Sub Показать_скрыть_Сводка()
Application.ScreenUpdating = False

    If ActiveWorkbook.Worksheets("Сводка").Visible = xlSheetHidden Then                                           
        ActiveWorkbook.Worksheets("Сводка").Visible = xlSheetVisible                                              
        ActiveSheet.DrawingObjects("кн_сводка").Characters.Text = "Текст1"
    Else
        ActiveWorkbook.Worksheets("Сводка").Visible = xlSheetVisible                                                 
        ActiveSheet.DrawingObjects("кн_сводка").Characters.Text = "Текст2"
    
    End If

End Sub
Пробный период для Книги Excel, защитить книгу паролем по условию
 
Добрый день!
Скажите, как сделать пробный период для книги Excel ?

Идея следующая:
Есть шаблонный документ, который используется для определенных расчетов.
Если в ячейку А1 (условно) ввести цифру, отличную от "0.00" (это как тригер запуска таймера), то, скрытно, запускается таймер пробного периода пользования документом с периодом неделя или месяц.

По истечение этого срока при работе или при открытии книги выводится сообщение, что необходимо ввести код разблокировки документа, иначе работать с документом не получится...

При вводе кода - книгой можно пользоваться неограниченное кол-во времени.

p.s.
Сейчас такое время, что на работе "используют" твои наработки и формы, выдавая их за свои...эта защита помогла бы такое избежать.
Медленно работает макрос подбора и подстановки значений
 
Здравствуйте!
Имеется документ, в нем 2 листа:
  1. Свод - лист, на котором отражены все материалы производства
  2. Спецификация - лист, в котором макросом создается спецификация
Логика работы макроса: на листе СВОД - тысячи позиций (в примере всего пара сотен), которые группированы по типу- по Товарной группе (столбец "AH").
Если перейти в лист "Спецификация" и выбрать в ячейке "F3" наименование товарной группы - начнется заполнение спецификации. Но, т.к. позиций ну очень много - процесс затягивается и может даже подвиснуть файл.
К тому же не знаю как реализовать "Умный" выпадающий список товарной группы в ячейке "F3", из-за этого выбор нужной товарной группы вызывает дискомфорт..

В чем требуется помощь:
  • Оптимизировать/ускорить/упростить работу макроса
  • Добавить умный выпадающий список в ячейку F3 листа "Спецификация"

Всем откликнувшимся - спасибо!
Изменено: Maxim - 11.07.2022 16:52:41
Оптимизация макроса копирования из таблицы в отдельные ячейки разных листов
 
Добрый день!
Имеется исходная таблица в которой отражен список смет с определенными данными
Из этой таблицы необходимо заполнить 100 листов книги, 1 лист - отдельная смета с наименованием "см.N" (в примере работает макрос для 5 листов)
Наименования листов - строго: "см.1, см.2 ... см.100"

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

Я записал макрос для 5 листов через штатную функцию Excel, убрал лишнее, но объем макроса для 5 листов - получился очень внушительный
Для вас это покажется кодом "вырви глаз", но я не программист, поэтому и прошу вашей помощи в оптимизации макроса...

Может это как-то сделать блоками, допустим:
     1) блок копирования Столбца "Наименование" в каждый лист сметы см.1...см.100
     2) блок копирования Столбца "Стоимость" в каждый лист сметы см.1...см.100
     .
     .
     n) блок копирования любого нового столбца...
Изменено: Maxim - 20.06.2022 15:34:28
Замена символа во всей книге макросом
 
Добрый день!
Сталкиваюсь с проблемой: в большой книге иногда не пересчитываются формулы, хотя в настройках включен пересчет "Автоматически пересчитывать".

В связи с этим я записал макрос по замене знака "=" на "=", те самым все формул принудительно будут пересчитаны.
Код
Sub Обновление_формул()

    Cells.Replace What:="=", Replacement:="=", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

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

Прошу помочь осуществить, макрос назначаю на кнопку для удобства.
Сохранить часть листа в отдельный файл
 
Добрый день! Прошу помочь со следующим вопросом:
В книге есть лист "Выгрузка".
Я добавил макрос сохранения листа в отдельный файл.
Макрос работает, но копирует лист с самой кнопкой макроса.

Нужно:
Откорректировать код, чтобы сохранялись столбцы A:F данной книги.
При копировании в новый лист должны переноситься значения (не формулы) и должно быть сохранено форматирование листов A:F, т.е. ровно так, как сейчас работает, только без кнопки макроса.
Имя нового файла должно быть такое же, как и с данным макросом - "Имя листа + B10 + B11"
Изменено: Maxim - 20.09.2021 15:16:27
Сохранение столбцов в отдельный файл (xlsx) макросом
 
Подскажите, пожалуйста, как сохранить столбцы в отдельный файл?
Что поправить в коде, чтобы в файл сохранялся не весь лист, а столбцы A:F ?

Код
Sub Сохранить_НД_в_лист()
Application.ScreenUpdating = False                              
Dim path As String, iLinks As Variant, i As Long
 
vopros = MsgBox("Сохранить форму загрузки НД?", vbYesNo, "Сохранение")
If vopros = vbYes Then
 
    path = ThisWorkbook.path
    ActiveSheet.Copy
    iLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(iLinks) Then
        For i = 1 To UBound(iLinks)
            ActiveWorkbook.BreakLink Name:=iLinks(i), Type:=xlExcelLinks
        Next i
    End If
    ActiveWorkbook.SaveAs path & Application.PathSeparator & ActiveSheet.Name & " " & Range("B10") & " " & Range("B11") & ".xlsx" 
    ActiveWorkbook.Close (False)
    MsgBox "Форма сохранена в папку", vbInformation, "Важное сообщение:"

End Sub

Заполнение динамической таблицы по текстовому условию без сводной таблицы
 
Есть книга с двумя листами:
1 лист - общий свод материалов, где каждый материал относится к определенной товарной группе
2 лист - спецификация

Как сделать заполнение таблицы на листе №2 (спецификация) по условию товарной группы?
При выборе товарной группы (лист 2) из Свода (лист 1) должны подтянуться соответствующие позиции.
Под последней позицией спецификации должна быть отражена строка с итогами.

Использование Сводной таблицы - не подходит, т.к. форма таблицы на листе №1 будет меняться по высоте строк.
Удаление строк по условию во всех выделенных листах - как обратиться ко всем листам?
 
Есть книга, в которой есть макрос, который удаляет строки активного листа по текстовому условию.
Как изменить макрос, чтобы удалялись строки по условию не в активном листе, а во всех выделенных листах?
т.е. прописываем в теле макроса "Лист1, Лист2, Лист3", чтобы для них выполнялся данный макрос.
Сохранение листа с определенным названием
 
Добрый день, люди добрые!
Есть шаблон Акта. Заполняя данный шаблон - я нажимаю кнопку и сохраняю заполненную форму как новую книгу.

Помогите решить следующие вопросы:
1. При нажатии кнопки "Сохранить Акт" текущий активный лист должен сохраниться как отдельная книга с наименованием:  
Имя листа + имя ячейки "B9"  :  Акт №1 смета №4;
2. Формат сохранения файла должен быть .xlsm  (потому что на текущем листе будут активные кнопки (макросы), которые должны перекочевать в новосохраненный лист).
Сделать Суперскрытые листы по заданным именам листов
 
Добрый день!
Прошу помочь с решением задачи:

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

Например:
Листы, которые нужно суперскрыть:
Массив имен: "Лист2", "Лист3", "Лист6", "Лист7"

Нескрываемые листы: "Не скрывать", "Не скрывать 2", "Не скрывать 3"

Нашел макрос для того, чтобы сделать суперскрытым один лист, не понимаю как применить это к заданному массиву имен
Скрыть одинаковые столбцы в каждом из необходимых листов макросом, Скрыть столбцы в каждом из листов
 
Подскажите, как решить следующую задачу:
Есть книга, в которой 100 листов.
Необходимо нажатием первой кнопки скрыть первые 5 столбцов в каждом из 100 листов.
Нажатием второй кнопки необходимо показать все скрытые столбцы в каждом из листов.

В идеале - данные действие произвести с использованием одной кнопки (одно нажатие - все скрыть, второе нажатие - все показать).

Для примера прикрепляю шаблон файла с пятью листами, я записал макросы, но они работают только применительно для первого листа...
Изменено: Maxim - - 10.09.2020 19:55:32
Сравнение значения со списком и подставление значения из списка, работа со списками
 
Нужна формула, которая будет выполнять следующее:

Если значение в ячейке B3 совпадает с одним из значений списка F3:F20, то C3 = соответствующей категории из списка G3:G20.
Страницы: 1
Наверх