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

Страницы: 1
Макрос скрытия листов при закрытии книги, ошибка при повторном действии макроса
 
Добрый день!

Есть книга в которой содержится несколько листов, при закрытии книги использую макрос скрывающий необходимые мне листы, после этого необходимо из всех остальных листов (их тоже может быть несколько) остаться на активном листе с названием ИТОГИ.
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sheets("Лист1").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Лист2").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Лист3").Select
    ActiveWindow.SelectedSheets.Visible = False
    Range("ИТОГИ").Select
End Sub

При первом тесте все работает, но при повторном открытии и закрытии файла вылетает ошибка: run time error 1004, вероятно что макрос говорит скрыть листы которые  уже скрыты, как это можно учесть в коде?
Динамически закрепленная строка, Реализация динамически закрепленной строки заголовка
 
Добрый день, подскажите как реализовать код макроса (в макросе хотелось бы иметь возможность прописать порядковые номера строк которые должны быть закреплены , как только они попадают в поле зрения
Нужно сделать динамически закрепленную строку на 1 листе
Есть файл/лист на котором n-число таблиц, на при  перемещении по листу на 30 строке появляется таблица однострочную шапку которой необходимо закрепить как только она исчезнет из поля зрения (100строчка -конец таблицы), при дальнейшем перемещении по листу вниз на 250 строчке(начало  другой таблицы) появляется новая таблица с другой однострочной шапкой которую необходимо закрепить, (конец этой таблицы на 500 строчке) и тд… и при перемещении вверх по листу чтобы закрепленные строки корректно отображались,… сначала 250, а как только она скрывается снизу то в закрепленных строчках становилась 30, надеюсь понятно изложил)
Изменено: WS27 - 04.06.2023 18:10:54
Проверка числа знаков после запятой, запретить ввод числа с количеством знаков после запятой, больше чем указано
 
Добрый вечер, помогите пожалуйста решить следующую задачу:
Имеется файл, доступ к которому есть у многих человек, каждый заполняет свои  определенные данные, но при внесении данных в колонку "Расход"  нужно учитывать допустимое число знаков после запятой (в файле имеется соседняя колонка), т.е если человек превышает указанное допустимое число знаков после запятой, то надо чтобы лишние знаки отсекались (без округления самого числа), если не превышает то просто записывается число, как это можно реализовать формулой или макросом может быть

Файл меняется каждый месяц, меняется число знаков после запятой, таблица объемная

Пример как должно быть по вложении
PQ Обход ошибки DataSource.Error, Обновление данных запроса с игнорированием отсутствующих файлов
 
Добрый день, помогите пожалуйста решить следующую задачу:
имеется ГЛАВНЫЙ ЗАПРОС (который выводится на лист, суть которого "ДОБАВИТЬ ЗАПРОСЫ"), куда загружаются данные из 9ти запросов (доступные только для подключения)
файлы для этих 9 запросов мне приходят в разные дни месяца, все файлы сохраняю в определенное место, путь к которым прописан в  запросах для подключения,
под конец месяца у меня имеются все  9 файлов и я наконец могу обновить ГЛАВНЫЙ ЗАПРОС,
Можно ли сделать так чтобы  не имея всех необходимых файлов можно было бы обновить ГЛАВНЫЙ ЗАПРОС без ошибки DataSource.Error.... (не удается найти файл)

В идеале как я вижу это должно работать:
например, в середине месяца у меня есть 5 файлов, соответственно по ним мне надо получить общие данные и надо чтобы в ГЛАВНЫЙ ЗАПРОС попали только файлы которые у меня имеются, а так файлы которые не получены еще но участвуют в ГЛАВНОМ ЗАПРОСЕ не попадали в список с обходом ошибки DataSource.Error
через несколько дней я получаю след файл , теперь у меня их 6 и теперь снова могу обновить ГЛАВНЫЙ ЗАПРОС и получить общие данные уже не из 5 а из 6 файлов и т.д.
Изменено: WS27 - 11.01.2023 14:42:09
параметрический подход к названиям листов книги PQ, Параметры названия необходимых листов для запросов PQ
 
Добрый вечер!
У меня такая задача: каждый месяц приходят 10-15 файлов и мне нужно их обработать и собрать определенные данные, чтобы ускорить этот процесс сделал параметризацию путей к данным в Power Query согласно данной теме, все работает с разными файлами, но проблема в том что во всех этих запросах приходится вручную переписывать номер листа (во всех файлах нужный лист это цифры... от 1 до 12(это текущий месяц), так вот если я в сентябре обрабатывал данных то во всех запросах ставил цифру 10, в след месяце(ноябре) надо ставить  11...
Имеется умная таблица с именем LOCATION_ОБЩИЙ из 1 столбца в которой прописаны пути к каждому файлу, на 4 строчке ставлю число 10(это текущий месяц) и хотелось бы менять только эту строчку на  другие месяца и чтобы подтягивались данные с соответствующего листа из каждого файла, подскажите как это реализовать?
Код
Источник = Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="LOCATION_ОБЩИЙ"]}[Content]{0}[LOCATION_ОБЩИЙ]), null, true),
    #"Лист" = Источник{[Name="10"]}[Data],
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Лист",{"Column1", "Column2", "Column4", "Column5", "Column11"}),
Изменено: WS27 - 10.11.2022 17:29:59
Фильтр по выделенному диапазону, Фильтр по выделенному диапазону (критерии фильтров)
 
Добрый день!

Помогите пожалуйста решить следующую задачу:

У меня есть макрос который использую следующим образом: Список критериев для  фильтра ставлю чуть ниже основной таблицы (главное чтобы колонка совпадала), выделяю весь мой вставленный список, применяю макрос, в итоге в основной таблице все отфильтровано по тем критериям которые мне нужно.
Кол-во критериев для фильтра - большое список счетов от 1000 до 7000, поэтому вручную отмечать не вариант.
Код
Sub Filter_po_vudeleniy() ' фильтр по выделению
    Dim filterRange As Range, filterValues() As Variant, cl As Range, i As Integer, rng As Range
    Set filterRange = Range("A1")
    Set rng = Selection '
    If rng.Cells.Count > 1 Then Set rng = rng.SpecialCells(xlCellTypeVisible)
    ReDim filterValues(1 To rng.Count)
    i = 0
    For Each cl In rng
        i = i + 1
        filterValues(i) = cl.Text
    Next cl
    Dim ColNumber As Integer
    ColNumber = rng.Column - filterRange.Column + 1 ' Val(InputBox("COLUMN Number"))
    filterRange.autofilter Field:=ColNumber, Criteria1:=filterValues, Operator:=xlFilterValues
End Sub


Мне нужно создать похожий макрос но чтобы действовал наоборот... как я это вижу: Список критериев для  фильтра ставлю чуть ниже основной таблицы (главное чтобы колонка совпадала), применяю макрос, в итоге в основной таблице все отфильтровано и список который я вставлял ниже, не попали в отфильтрованную таблицу
Похожий интерфейс есть в стандартном фильтре (фильтр> НЕ РАВНО), но с его помощью можно отсечь ненужные значения 1-2, а не огромный список


По возможности сразу как можно применить другие критерии типа (фильтр> СОДЕРЖИТ, фильтр> НЕ СОДЕРЖИТ) но с возможностью фильтрации по большому списку/выделенному диапазону, такое нужно, но намного реже чем фильтр> НЕ РАВНО
Изменено: WS27 - 31.08.2022 12:09:59
Макрос промежуточные.итоги, ПРОМЕЖУТОЧНЫЕ.ИТОГИ
 
Добрый день!

Имею большую таблицу содержащую и текст и цифры( в одной колонке либо тект, либо цифры), имеется однострочная шапка к этой таблице+автофильтры, хотелось бы иметь макрос действующий следующим образом: встав на любую ячейку в шапке и вызвав макрос хотелось бы иметь формулу(вместо наименования графы шапки активной ячейки) ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109; «диапазон по всей колонке, ниже активной ячейки).  Подскажите пожалуйста как это можно реализовать?
Выделение любого текста цветом в выделенном диапазоне, добавить возможность выбора цвета для выделения конкретного текста
 
Добрый день!
Помогите пожалуйста решить следующую задачу:
Часто приходится  разгребать документы где очень много текта/цифр и тд...из всего это текста мне нужно определенные значения, сейчас я нахожу их с помощью след макроса:
Скрытый текст
выделяю необходимый мне диапазон, будь то строка, столбец или лист и запускаю этот макрос, ввожу ключевую фразу, которую мне необходимо выделить и он быстренько мне все делает. Но есть потребность выделять эти фразы разными цветами.. и хотелось бы иметь возможность выбора цвета(без переписки макроса ручной замены кода)

Как я это вижу:
1. выделяю нужный мне диапазон
2. вызываю макрос
3. в поле ввожу свою ключевую фразу (и вот здесь бы хотелось иметь возможность выбора цвета,по примеру как это реализовано в самом Excel, например вызов формы (во вложении))
Автоматическое закрытие книги, закрывать ненужные отчеты
 
Добрый день!

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

Подскажите как можно это автоматизировать? желательно чтобы "ненужные отчеты" закрывались сразу, без всплывающего окна (сохранить изменения в файле)
Изменено: WS27 - 21.09.2020 08:55:04
Округление до ближайшего большего числа кратному "Х", округлить значение в пользовательской функции
 
Добрый день!

Подскажите пожалуйста как в пользовательской функции округлить значение до ближайшего числа кратного 5(может быть другое) имеется функция test, содержащая вычисления (в примере ниже упростил до 1 действия)
Код
Function test(chislo_1 As Double, chislo_2 As String)
test = Round(chislo_1 + chislo_2, 1) 
End Function
обычная формула это ОКРВВЕРХ.ТОЧН/CEILING.PRECISE

Требуемый результат если
необходимая кратность 0.5
chislo_1=6.933
chislo_2=3.230258
то результат должен быть 10.5
Изменено: WS27 - 06.05.2019 11:13:39
Макросом выделить все заполненные ячейки, Необходимо макросом мыделить все ячейки, в которых есть какой либо символ
 
Добрый вечер.
Прошу помочь знатоков, как решить следующую задачу...
1. Есть много книг, в каждой есть свои таблицы  и данные, есть пустые ячейки, ячейки с формулами, текстом и тд...
2. При выделении руками нужного мне диапазона  допустим А10:Z55 , в котором может содержаться пустые ячейки, формулы, текст и любые другие данные...
3. Нужно чтобы при запуске макроса из этого выделенного мною диапазона (может быть любой...) выделились только те области/ячейки, в которых есть какой либо символ, будь это пробел, цифра, буква, формула...
4. Желательно если в данном выделенном диапазоне присутствуют скрытые строки или столбцы, то скрытые заполненные ячейки не выделялись.

Заранее всем спасибо за помощь
Копирование+обьединение в буфер обмена, через необходимый разделитель, Значения выделеных ячеек скопировать и поместить в буфер обмена, для вставки в другие программы.
 
Добрый день!

Помогите пожалуйста реализовать следующую задачу.
Как я ее вижу:
1. Выделяю нужный диапазон ячеек
2. Жму на горячую клавишу, допустим Ctr+Alt+C.
3. После чего должно появиться окно, которое предлагает выбрать/ввести необходимый разделитель. (это может быть текст, пробел, цифры и тд и их сочетания)
4. После выбора/ввода необходимого разделителя, нужно чтобы значения ячеек , выделенные в пункте 1, сцепились все с этим самым разделителем и записались только в буфер обмена, для возможности последующей вставки в другие программы/документы.

Прилагаю файл с примерами

Может кто посоветует еще  более удобный способ.

Спасибо!
Изменено: WS27 - 23.04.2019 05:16:54
Список без пропусков из разных столбцов, Создание список без пропусков из 2-х и более столбцов
 
Добрый день!

Помогите  пожалуйста получить список значений (без пропусков), из разных столбцов. ()
Знаю как получить для одного, но не получается сделать для 2-х и более столбцов. (в примере 3).
Столбцов может быть разное число, но всегда >=2
Отображение всех листов книги, при снятии защиты с листа вручную
 
Добрый день!
Помогите пожалуйста реализовать функцию отображения всех листов книги (скрытых и очень скрытых), после того как только произойдет снятие защиты на листе 1.

Во вложенном примере, книга при открытии скрывает все листа кроме Листа 1 и защищает Лист 1 паролем 123, на листе имеется желтая область незащищенных ячеек, остальные ячейки защищены. Как сделать так чтобы при снятии защиты, именно через вкладку "рецензирование" снялась защита со всех листов и они все  показались видимыми, а при защите любого листа все листы скрывались, кроме Листа 1?
Автоматическое обьединение однотипной таблицы в одной книге, Обьединение однотипной таблицы
 
Добрый день !

Помогите пжлста найти решение для автоматического объединения однотипных таблиц в одной книге.

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

p.s. значения в таблицах могут быть: текст, даты, числа, пустые значения
Изменено: WS27 - 20.12.2018 07:01:56
Система безопасности отключила макросы. (на защищенной книге)
 
Добрый день.
Подскажите как правильно защитить книгу, чтобы  ее можно было открыть только после ввода пароля.

Я попробовал сохранить через сервис, пароль задал, но при таком способе защиты перестают действовать макросы, а именно выпадает сообщение: "Система безопасности отключила макросы".

Если книга не защищена паролем на открытие, то все работает отлично.

В чем может быть проблема?
Нужно чтобы и пароль на открытие файла был и макросы работали...
Может быть это проще осуществить каким либо макросом?

P.S. макросы включены в книге...
Изменено: WS27 - 02.08.2018 08:43:09
Сцепление данных по условию
 
Добрый день!Подскажите пожалуйста решение, чтобы получить список всех заказов в 1 ячейке если их несколько в общем списке (через разделитель), а если только 1 то нужно возвратить его значение.
Пример по вложении.
Выпадающий спиок без пустых строк
 
Добрый день!
Помогите решить след.задачу.
в прикрепленном примере:

1. на 1 листе имеется список, в котором могут быть пустые строки, в хаотичном порядке
2. на 2 листе с помощью ф-лы массива формируется список без пропусков
3. нужно получить выпадающий список1 без пустых строк. (попробовал задать список через динамический диапазон, но в результате отображает все строки), рядом показан выпад.список2 который хотелось бы увидеть в идеале)))


p.s. будет ли эот список работать как с текстом, так и с числами?
p.s.2 может это все можно сделать еще проще?
Изменено: WS27 - 06.07.2018 06:50:42
Сортировка списков на основании таблиц с выстроенным приоритетом должностей
 
Добрый день.,помогите решить задачку: хочу из общего списка с ФИО сотрудника , в котором указана их должность получить другой список, который будет отсортирован как в во вложенном примере, этот порядок сортировки может меняться и соответственно список уже должен сформироваться другой, подскажите пожалуйста как это сделать?
Список уникальных значений
 
Добрый день, планетяне))

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

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

Заранее благодарю за ответ!
Изменено: WS27 - 18.06.2018 10:52:16
Страницы: 1
Наверх