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

Страницы: 1
Перенос таблицы с макросами из одного лтста на другой
 
Цитата
написал:
Надеюсь так будет достачно понятно увидеть и понять вам вашу ошибку.
Спасибо Вам буду разбираться.
Перенос таблицы с макросами из одного лтста на другой
 
MikeVol, простите, но я и не говорил что профи. И кстати, макрос к кнопке назначен. Все равно спасибо, что не остались равнодушным.
Изменено: Temniy.divers - 25.05.2025 13:16:11
Перенос таблицы с макросами из одного лтста на другой
 
Цитата
написал:
Temniy.divers , Без дублирования данных на одном (База) и том-же рабочем листе. Код ? 123456789101112131415161718192021222324252627282930313233343­536373839404142434445464748495051525354555657585960616263646­566676869707172737475767778798081828384858687888990919293949­596979899100101102103104105106107108Option Explicit Private Sub CommandButton2_Click()    Dim i           As Long    Dim iLR         As Long    Dim ДатаРождения As Date    Dim Лет         As Integer     ' Укажите рабочий лист, чтобы избежать неоднозначности    Dim ws          As Worksheet    Set ws = ThisWorkbook.Worksheets("База")     ' Найти последнюю заполненную строку в столбце A    Dim iLastRow    As Long    iLastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row     With Application        .ScreenUpdating = False        .Calculation = xlCalculationManual         With ThisWorkbook.Worksheets("ДР")             ' Очистить диапазон N2:U последней строки            .Range(.Cells(2, 1), .Cells(.Rows.Count, 9)).ClearContents             ' Перебирать строки с 2 по последнюю            For i = 2 To iLastRow                 ' Проверить, находится ли дата в диапазоне от 0 до 30 дней с пропуском пустых ячеек                If ws.Cells(i, "F").Value <> "" And IsDate(ws.Cells(i, "F").Value) Then                     If DateSerial(Year(Date), Month(ws.Cells(i, "F")), Day(ws.Cells(i, "F"))) - Date >= 0 And _                            DateSerial(Year(Date), Month(ws.Cells(i, "F")), Day(ws.Cells(i, "F"))) - Date   1 Then    'Убедиться, что есть данные для сортировки                 ' Определяем диапазон для сортировки                Dim sortRange As Range                Set sortRange = .Range("A2:J" & iLR)                 ' Сначала убедимся, что SortFields очищены                .Sort.SortFields.Clear                 ' Добавляем поле сортировки                .Sort.SortFields.Add Key:=.Range("J2:J" & iLR), _                        SortOn:=xlSortOnValues, _                        Order:=xlAscending, _                        DataOption:=xlSortNormal                 ' Настраиваем параметры сортировки                With .Sort                    .SetRange sortRange                    .Header = xlNo    ' проставить  xlYes, если у есть заголовки (проверь параметр таблицы)                    .MatchCase = False                    .Orientation = xlTopToBottom                    .SortMethod = xlPinYin                    .Apply    ' Применяем сортировку                End With             End If             'Очистка вспомогательного столбца V            .Range("J2:J" & iLR).ClearContents        End With         .Calculation = xlCalculationAutomatic        .ScreenUpdating = True    End With End SubМожно его (код) ещё сократить, но лень. Удачи.
Изменено: Temniy.divers - 25.05.2025 13:09:58
Перенос таблицы с макросами из одного лтста на другой
 
Цитата
написал:
Создайте на листе ДР новую кнопку и назначьте ей нужный макрос
По этому примеру, получается что на Листе ДР просто появился клон таблицы с листа База.
Причем, если изменить дату ДР в первой таблице, то изменения во второй таблице происходят, при этом на Листе ДР изменений никаких.
Перенос таблицы с макросами из одного лтста на другой
 
Цитата
написал:
Откуда брать данные для него?
Данные для него с первого листа "База", из первой таблицы столбец B
Подсчет количества именинников в базе данных
 
Цитата
написал:
="сегодня у нас именинников "&ЕСЛИОШИБКА(1/(-1/СУММПРОИЗВ(-(ТЕКСТ(Таблица2[Дата рождения];"ДМММ;;0")-СЕГОДНЯ()=0)))&"чел";"нет")
Добрый день. По этой формуле указано "сегодня у нас именинников нет"
Хотя на самом деле в базе их около 10 чел на сегодняшний день.
Пробовал поменять формат даты на ДДММГГГГ, ответ тот же.
Изменено: Temniy.divers - 25.05.2025 09:51:31
Перенос таблицы с макросами из одного лтста на другой
 
Доброго времени суток. Как перенести таблицу с желтой шапкой и кнопкой "Рассчитать ДР" с листа База, на другой лист ДР? А с первого Листа потом это удалить, чтобы потом там осталась только одна первая таблица.
Плюс ко второй таблице надо добавить первый столбец ФО.

У человека, кто делал эту таблицу не спросить.
Изменено: Temniy.divers - 25.05.2025 11:25:25
Подсчет количества именинников в базе данных
 
Применил данную формулу. Все работает. Но нашел для себя не удобный фактор: Если формат ДД.ММ.ГГГГ не верный, т.е. существует пробел или отсутствует точка и др. появляется ошибка. В большой базе, если кто-то кроме автора имеет доступ к редактированию, это найти потом крайне сложно, в какой строке "помарка".
Пожалуй для большой базы и неаккуратного пользования, это может быть все проблематичным.
Спасибо всем кто приложил руку для помощи.

У меня остался еще один не мало важный вопрос, с переносом таблицы на другой лист, я об этом озвучивал немного выше.
Надеюсь на Вашу помощь.
Подсчет количества именинников в базе данных
 
Цитата
написал:
См. приложенный файл В ячейке C1 формула, которая подсчитывает число совпадений в диапазоне ячеек A2:A10000.Какая именно ошибка у Вас выдается в этом файле?
нашел ошибку. спасибо.
Изменено: Temniy.divers - 24.05.2025 13:41:07
Подсчет количества именинников в базе данных
 
Цитата
написал:
Проходят. Локализованный вариант:Код ? 1=СУММПРОИЗВ((ДЕНЬ(A2:A100)=ДЕНЬ(СЕГОДНЯ()))*(МЕСЯЦ(A2:A100)=МЕСЯЦ(СЕГОДНЯ())))(конструкция "--" для преобразования логических значений в число не обязательна, так как есть знак умножения).
=СУММПРОИЗВ((ДЕНЬ(F2:F300)=ДЕНЬ(СЕГОДНЯ()))*(МЕСЯЦ(F2:F300)=МЕСЯЦ(СЕГОДНЯ())))
Вот такая ошибка.
Правда если ставить F2:F100. То работает, только показывает 0.
Но у меня намного более 100 строк
Изменено: Temniy.divers - 24.05.2025 13:08:21
Подсчет количества именинников в базе данных
 
И еще. Удалено
Изменено: Sanja - 24.05.2025 17:28:30
Подсчет количества именинников в базе данных
 
Цитата
написал:
=SUMPRODUCT(--(DAY(A2:A100)=DAY(TODAY()))*(MONTH(A2:A100)=MONTH(TODAY())))
Дата вида 24.05.2025 не проходят по этой формуле.
Подсчет количества именинников в базе данных
 
Куда еще проще: Подсчет количества именинников в базе данных.
Подсчет количества именинников в базе данных
 
Прошу прощения. Виноват в создании данной темы с таким названием. Не вижу как и где переименовать, например: Помощь новичку в создании базы для организации
Но вопрос стоит на повестке.
Есть таблица с большим количеством человек/сотрудников. Помогите написать формулу, чтобы указывалось количество именинников сегодня, просто цифра.
Т.е. сегодня у нас именинников ....чел
Изменено: Sanja - 24.05.2025 09:07:55
Страницы: 1
Наверх