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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 31 След.
Нужно заполнить сотню справочников., Помогите с решением.
 
Ваш макрос записывает все данные в один справочник. Чтобы заполнять сотню разных справочников в зависимости от выбранной номенклатуры, нужно изменить логику.
- Можно попробовать выбор справочника по списку.
Добавьте на лист Форма выпадающий список со всеми справочниками и привяжите макрос к нему.
- Либо как вариант - автоматический выбор по номенклатуре. Нужно будет создать лист-соответствие Настройки с двумя колонками: Номенклатура и Имя справочника. И далее прописывать привязку к ним.
У всех справочников должна быть умная таблица с одинаковым названием (SpravochnikTable). Либо модифицируйте код для обычных диапазонов.
Изменено: asesja - 20.04.2026 23:23:53
Задача на выбор вариантов / комбинирование товара
 
Цитата
UnDrew написал:
чтобы общая сумма каждой отгрузки стремилась к средней стоимости (общая стоимость всех инвойсов деленная на кол-во всех инвойсов).
Как у вас средняя получается?
Задача на выбор вариантов / комбинирование товара
 
Цитата
UnDrew написал:
в отгрузки по 33 паллеты с условием не более 20 тонн на отгрузку
Добрый день. А вес в каком столбце?
Перенос данных из одного диапазона в другой на листах
 
Цитата
VadimSh написал:
... адаптировать Ваш код на перенос данных с данной формы в соответствующие листы по месяцам
См.вложение.
Перенос данных из одного диапазона в другой на листах
 
Цитата
VadimSh написал:
Как только мне теперь прикрутить обновление сводных таблиц после изменения дат?

Цитата
VadimSh написал:
Но к сожалению такие требования у руководства
Пройдемся вместе по скользкой дорожке. ;)  
Изменено: asesja - 19.04.2026 20:56:52
Перенос данных из одного диапазона в другой на листах
 
Цитата
VadimSh написал:
1. Как только мне теперь прикрутить обновление сводных таблиц после изменения дат?
2. И почему данный код вы не считаете рабочим, если все данные переносятся как надо?
Я полностью согласен с ответом Sanja.

Ваша модель данных построена таким образом, что дальнейшая реализация будет постоянно усложняться по всем направлениям: заполнение, доработка макросов, сводные по каждой части таблицы, задержки при обработке макросами по мере роста объёмов данных, выборка информации в отчёты и т.д.

Отвечая на ваши вопросы:

1.     Обновление сводных после изменения дат — из-за текущей структуры это будет требовать либо ручного вмешательства, либо дополнительных макросов, которые ещё сильнее усложнят модель.

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

Поэтому мой совет — прислушаться к сообщению #3.

P.S. Не успел прочитать ваш предыдущий ответ.

Попытаться переубедить руководство основываясь на изложенных фактах.

Изменено: asesja - 19.04.2026 10:45:02
Перенос данных из одного диапазона в другой на листах
 
Здравствуйте VadimSh.
Ваш весь код желательно переписать и оптимизировать. Ну и мой соответственно тоже :) , т.к. подстраивался под ваш. Не считаю его рабочим, просто в качестве примера.
Цитата
VadimSh написал:
Никак у меня не получается реализовать:
1. Перенос данных из одной Таблицы(месяц) в другую при изменении даты в Таблице.
2. И если дата изменяется на другой год, то данная строка должна переместиться в соответствующий месяц на листе с именем соответствующего года.
См. вложение Excel.
Для увеличения картинки, открыть её в новой вкладке.
Возвращать дату на несколько дней раньше/позже от указанной в ячейке, дата
 
+10 или -10 к ячейке с датой.
Макрос для удаления кода на определенную дату, удаления кода на определенную дату
 
Дмитрий(The_Prist) Щербаков, Дмитрий понял.
С моей стороны отмена.
Макрос для удаления кода на определенную дату, удаления кода на определенную дату
 
Всех приветствую.
Если никто не взял в работу, то я пишу в личку.

Вячеслав, сообщите, если уже с кем-то сотрудничаете по данному вопросу.
Изменено: asesja - 20.02.2026 15:23:49
Перенос данных по условию, Перенести данные из таблицы в таблицу по условию
 
HelenPerfect, поправил.
Перенос данных по условию, Перенести данные из таблицы в таблицу по условию
 
Цитата
написал:
остаются, не стираются
Понял. Доберусь до компа, поправлю.
Изменено: asesja - 08.02.2026 23:18:56
Перенос данных по условию, Перенести данные из таблицы в таблицу по условию
 
HelenPerfect, здравствуйте.
Вариант макросом.
Изменено: asesja - 08.02.2026 20:15:35
Расчет часового расхода (воды), Фильтр по значениям
 
mmakshakov, здравствуйте.
Возможно не понял, что от чего нужно отнять, но я сложил данные из столбца "C" в разрезе каждого часа, как в сводной у Sanja
Если не так понял, для корректировки расчета поясните подробнее.
Копирование данных с одного листа на другой
 
Цитата
написал:
Ну да ладно, что эти программисты понимают!
Главное — чтобы компьютер не догадался, что они не понимают, как это работает."😜
Изменено: asesja - 06.02.2026 12:58:57
Что за символ появляется после конвертации таблицы из Ворда в Эксель и как от него избавиться?
 
Код
Sub Макрос1()
    Dim rng As Range
    Set rng = Range("A1:H5")
    rng.Replace Chr(13), Chr(10)
    rng.Replace Chr(11), Chr(10)
    rng.FormulaLocal = rng.FormulaLocal
End Sub
Как макросом выполнить F2+Enter для диапазона ячеек с текстом/есть ли этому замена?
 
Заменяем возврат каретки на перенос строки, как предложил Старичок, только сразу для всего диапазона. У меня сработало.
Код
Sub Макрос1()
    Dim rng As Range
    Set rng = Range("A1:K1123")
    rng.Replace Chr(13), Chr(10)
    rng.FormulaLocal = rng.FormulaLocal
End Sub
Как сделать список вперемешку? 111 222 333 - 123 123 123
 
Создание генератора чисел
 
SingOrDie, ещё такой вариант.
Защита Листа Excel от удаления, VBA либо другим способом
 
sokol92, спасибо большое!
Тоже отличный вариант.
Ошибка буфера обмена
 
Вам нужно приложить файл с примером, где происходит ошибка.
Ошибка буфера обмена
 
Здравствуйте.
Попробуйте перед заменой столбцов прописать очистку буфера обмена.
Защита Листа Excel от удаления, VBA либо другим способом
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
При активации листа. Событие такое есть, выше приводил с ним пример
Дмитрий, спасибо. Я использую это событие для некоторых действий.
Да, лучше туда прописать.  
Изменено: asesja - 28.01.2026 13:40:55
Защита Листа Excel от удаления, VBA либо другим способом
 
Цитата
Sanja написал:
Иметь в книге ДВА идентичных шаблона
Они не статичные. Данные меняются. В двух одновременно менять и отслеживать изменения не вариант.
Цитата
Дмитрий(The_Prist) Щербаков написал:
Раз даете такую волю пользователям с этими листами
Да, доступ есть, все предупреждены, но хотелось бы некую "защиту от дурака".

Цитата
Дмитрий(The_Prist) Щербаков написал:
значит лист удалили или переименовали и об этом надо сразу сообщать и пусть уже пользователь думает, что делать
Кстати да, при закрытии/открытии проверять нужные листы и выводить сообщение с дальнейшим выходом.
Это конечно не предотвратит попытку удаления, но причину обозначит при открытии документа.

"Cancel = True" - не с той оперы.)) Не обращайте внимания.
Изменено: asesja - 28.01.2026 11:42:39
Защита Листа Excel от удаления, VBA либо другим способом
 
Дмитрий(The_Prist) Щербаков, Sanja спасибо за советы.
Но в данном случае обратился на форум, т.к. не смог найти нужного и удобного решения. Всё в проекте гораздо сложнее, предложенные варианты реализуемы но, для меня неудобны. Хранение данных в другой книге можно сделать, но опять таки мне неудобно и неудобно будет пользователям.
С листом, который нужно защитить от удаления (их может быть несколько), происходит плотное программное и ручное взаимодействие, создаются его копии с другим именем как в ручную, так и программно.
Дмитрий(The_Prist) Щербаков, "Activeworkbook.Sheets("Лист2").Delete" не рассматриваю угрозой. Это будет умышленное удаление и понятно, что сделано специально. После такого соответствующий разбор "полёта".
Нужно что-то типа перехвата события. Некая "защита от дурака" с предупреждением или что-то типа деактивации пункта "Удалить" на нужном листе.
Использую пока вот такой способ, как говорится "на всякий случай" с закрытием книги без сохранения. Но в старых версиях может не сработать.
"Cancel = True" в этом событии не срабатывает (нет такой переменной, пример от другой процедуры), поэтому использую Close.
Можно даже "Application.Quit", чтобы у злоумышленника не возникало желание делать запрещённые действия)). Можно ещё добавить запись в файл данных пользователя или ПК, на котором была попытка удаления для дальнейшего персонального предупреждения.
Код
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
    If Sh.Name = "Шаблон" Then
        MsgBox "Удаление листа 'Шаблон' запрещено!" & vbCrLf & "" & vbCrLf & "Данный лист является системным.", 16, "Info"
        ActiveWorkbook.Close False
    End If
End Sub
Я уже понял, что вариантов практически нет, кроме "Защиты книги (структуры)" и затем программно это обыгрывать.
Но мало ли появится интересное решение.
Изменено: asesja - 28.01.2026 12:08:22
Защита Листа Excel от удаления, VBA либо другим способом
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Я бы на Вашем месте все же воспользовался защитой книги.
Дмитрий, спасибо, но как я написал защита книги не подходит.  
Проект сложный, листов очень много, часть из них программно добавляется, удаляется, копируется, супер-скрывается и т.д. Некоторые действия должны выполнятся вручную. Структура недолжна быть защищена.
Конечно, все ручные действия можно зашить макросами и программно снимать защиту листа выполнять нужные действия и обратно устанавливать, но в данном проекте мне это не очень удобно. Поэтому ищу вариант защиты листа от удаления без блокировки структуры (защиты книги).
Так же понимаю, что почти любую защиту можно взломать, если задаться целью.
Изменено: asesja - 27.01.2026 20:23:37
Защита Листа Excel от удаления, VBA либо другим способом
 
Здравствуйте.
Подскажите, пож-та, как в книге Excel защитить лист от удаления пользователями.
Защита структуры в качестве защиты от удаление не подходит.
Лист, который нужно "обезопасить" от удаления, будет скрываться пользователями и отображаться при необходимости внесения  изменений, эта функция не должна быть заблокирована.
VBA приветствуется. Обычные пользователи не будут иметь пароль от проекта.
Создание массива чисел при выполнении условий
 
Здравствуйте.
Код
Sub ЗаполнитьМассив ()
    Dim arr(1 To 100), i%, counts(1 To 5), p
    For i = 1 To 100
        arr(i) = Int(Rnd() * 5 + 1)
    Next
    p = Array(0, 0, 0.25, 0.15, 0.1, 0.05)
    For i = 1 To 100
        If counts(5) < 100 * p(5) Then arr(i) = 5: counts(5) = counts(5) + 1
    Next
    For i = 1 To 100
        If arr(i) <> 5 Then
            If counts(4) < 100 * p(4) Then arr(i) = 4: counts(4) = counts(4) + 1
        End If
    Next
    For i = 1 To 100
        If arr(i) <> 5 And arr(i) <> 4 Then
            If counts(3) < 100 * p(3) Then arr(i) = 3: counts(3) = counts(3) + 1
        End If
    Next
    For i = 1 To 100
        If arr(i) <> 5 And arr(i) <> 4 And arr(i) <> 3 Then
            If counts(2) < 100 * p(2) Then arr(i) = 2: counts(2) = counts(2) + 1
        End If
    Next
    For i = 1 To 100
        If arr(i) > 1 Then counts(arr(i)) = counts(arr(i)) + 1 Else counts(1) = counts(1) + 1
    Next
    Range("A1:A100").Value = Application.Transpose(arr)
    MsgBox "Распределение:" & vbCrLf & _
           "5: " & counts(5) & "%" & vbCrLf & _
           "4: " & counts(4) & "%" & vbCrLf & _
           "3: " & counts(3) & "%" & vbCrLf & _
           "2: " & counts(2) & "%" & vbCrLf & _
           "1: " & counts(1) & "%"
End Sub
Как совместить две таблицы по одному столбцу (всю голову сломал), Нужно сделать одну таблицу из нескольких таблиц по одному поставщику (столбцу)
 
muari2006, Приветствую!
См. вложение.
Создание таблицы учёта нарушений
 
Цитата
messire написал:
Вопрос: можно ли сделать так
Можно. См.V2.
Изменено: asesja - 17.01.2026 21:39:21
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 31 След.
Наверх