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

Страницы: 1
Макрос даты и времени, Можно ли
 
Цитата
написал:
Владислав,
может так?
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17      Private   Sub   Worksheet_Change(  ByVal   Target   As   Range)          If   Target.Count > 1   Then   Exit   Sub   'если выделена не одна ячейка - выход из процедуры                    Rem если изменененная ячейка попадает в диапазон          If   Not   Intersect(Target, Range(  "B7:B10000"  ))   Is   Nothing   Then              With   Target.Offset(0, 2)   'вводим в соседнюю справа ячейку дату                  .Value = Time                  .EntireColumn.AutoFit   'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке              End   With          ElseIf   Not   Intersect(Target, Range(  "E7:E10000"  ))   Is   Nothing   Then              With   Target.Offset(0, 2)   'вводим в соседнюю справа ячейку дату                  .Value = Now                  .EntireColumn.AutoFit   'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке              End   With                   End   If    End   Sub   
 
Огромное Вам СПАСИБО!!!
Макрос даты и времени, Можно ли
 
Можно ли на одном листе использовать макрос для проставления даты и времени мне нужно именно не добиться этого форматированием ячеек а создать макрос на одном листе NOW и TIME для дальнейших вычислений как объединить такие макросы не знаю?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub 'если выделена не одна ячейка - выход из процедуры
    
    Rem если изменененная ячейка попадает в диапазон 
    If Not Intersect(Target, Range("B7:B10000")) Is Nothing Then
        With Target.Offset(0, 2) 'вводим в соседнюю справа ячейку дату
            .Value = Time
            .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
        End With
    End If
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub 'если выделена не одна ячейка - выход из процедуры
    
    Rem если изменененная ячейка попадает в диапазон 
    If Not Intersect(Target, Range("E7:E10000")) Is Nothing Then
        With Target.Offset(0, 2) 'вводим в соседнюю справа ячейку дату
            .Value = Now
            .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
        End With
    End If

End Sub



Формат ячеек с фильтром по дате
 
Цитата
написал:
Владислав, Самое простое на коленке
1.Формат столбца - "Краткий формат даты"
2.Копируем любую пустую ячейку этого столбца
3.Выделяем столбец
4.ПКМ по столбцу, жмём на строку "Специальная вставка"
5.В открывшимся окне, ставим точки на словах, "зачения", "сложить" и жмём ОК.
6.Радуемся
Огромнейшее спасибо.
Не понимаю одного в чём логика и как это работает, причём тут пустая ячейка и складывание этих всех значений :)

Всё работает но логика по-моему отсутствует.
Очень здорово , но непонятно... почему простой формат в даты этого столбца не работает.

И появился маленький нюанс. После данного форматирования, когда я нажимаю сочетание клавиш CTRL+END меня перемещает не в конец моих данных  а на строку с номером 1 048 576 (Миллионная строка это сильно) Удаление пустых строк не помогает
Изменено: Владислав - 19.09.2022 16:39:07
Формат ячеек с фильтром по дате
 
Никак не получается форматировать ячейки в нужный формат, для того чтобы поставить фильтр дат по месяцам и годам

Подскажите пожалуйста какой формат ячеек выбрать чтобы всё заработало?
Или каким способом отформатировать ячейки
Связанные выпадающие списки, Списки или умн таблицы
 
Цитата
Вас понял, спасибо.

Если сделать по другому и проще при выборе из выпадающего списка сотрудника все ячейки данной строки подтягивались автоматически с листа 2

Выбор сделать только по сотрудникам с быстрым поиском по первым буквам
Связанные выпадающие списки, Списки или умн таблицы
 
Вас понял, спасибо.

Если сделать по другому и проще при выборе из выпадающего списка сотрудника все ячейки данной строки подтягивались автоматически с листа 2

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

Важно при выборе сотрудника ЭТО КЛЮЧЕВОЙ СРЕЗ - выбрав сотрудника автоматом подгружается вся строка

Фильтры не подходят

Так как каждая строка должна быть статичной после всех выборов

и потом её можно было бы удалить.

Напрашивается вопрос почему сразу не выбрать сотрудника? Потому что например если 1000 сотрудников устанешь листать а выбрав отдел или цфо отдела или руководителя сразу же Колличество сотрудников уменьшиться до размера отдела!

2-й лист это источник информации, которая будет подгружаться в лист 1

2-й лист будет периодически пополняться информацией
Изменено: Владислав - 10.08.2022 19:54:58
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Спасибо, огромное!
возможно ли в рамках данной темы задать ещё пару вопросов

1. Как и где и на каком языке Вы пишите макросы. Хочу научиться.
2. Как при открытии файла EXCEL (Даты календаря проставлены в столбик на весь год и скажем сегодня дата 9 августа стоит в столбике А и строке 253 например) Дата у меня по правилу отмечается цветом, но хотелось бы ещё чтобы при открытии файла не нужно было пролистывать 253 строки до сегодняшней даты а файл открывался бы на нужной строчке :) Спасибо.
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата

из  Сообщения №3
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub 'åñëè âûäåëåíà íå îäíà ÿ÷åéêà - âûõîä èç ïðîöåäóðû
    
    Rem åñëè èçìåíåíåííàÿ ÿ÷åéêà ïîïàäàåò â äèàïàçîí A2:A100 èëè D2:D100
    If Not Intersect(Target, Range("A5:A1000,M5:M1000,U5:U1000,AD5:AD1000")) Is Nothing Then
        With Target.Offset(0, 2) 'ââîäèì â ñîñåäíþþ ñïðàâà ÿ÷åéêó äàòó
            .Value = Time
            .EntireColumn.AutoFit 'âûïîëíÿåì àâòîïîäáîð øèðèíû äëÿ ñòîëáöà B, ÷òîáû äàòà óìåùàëàñü â ÿ÷åéêå
        End With
    End If

End Sub
Сделал так, всё работает, но мне как-то нужно чтобы при нажатии в  U5:U1000 в соседнюю или через одну ячейку неважно вставлялась именно дата со временем.

На одном листе этого не организовать?  
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата
написал:
Цитата
написал:
 
Цитата
Владислав  написал:
или 2 макроса на одном листе.
 Не может быть два макроса события "Worksheet_Change".  
Цитата
Владислав  написал:
чтобы при нажатии кнопки
 , Worksheet_Change это событие наступает при изменении ячейки. Почитайте   ТУТ    
Цитата
Владислав  написал:
в столбце A  в столбец B проставлялось время, а при нажатии кнопки в столбце D в столбец E проставлялась дата и время (NOW)
 Если у Вас действия при изменении ячеек в столбцах A и D разные, то Возьмите макрос Коня из 3-его сообщения и меняйте строку  .Value = Time , на то, что Вам нужно
Конь выдаёт ошибку
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата
написал:
Цитата
Владислав написал:
или 2 макроса на одном листе.
Не может быть два макроса события "Worksheet_Change".  
Цитата
Владислав написал:
чтобы при нажатии кнопки
, Worksheet_Change это событие наступает при изменении ячейки. Почитайте  ТУТ  
Цитата
Владислав написал:
в столбце A  в столбец B проставлялось время, а при нажатии кнопки в столбце D в столбец E проставлялась дата и время (NOW)
Если у Вас действия при изменении ячеек в столбцах A и D разные, то Возьмите макрос Коня из 3-его сообщения и меняйте строку  .Value = Time , на то, что Вам нужно
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата
написал:
Владислав,
оформить нужно было первое сообщение, а не добавить новое
а вообще смотрите сообщение 4 и ничего уже больше оформлять, добавлять не нужно
Простите я только учусь, буду внимательнее
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата
написал:
Наверное достаточно так
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11      Private   Sub   Worksheet_Change(  ByVal   Target   As   Range)          If   Target.Count > 1   Then   Exit   Sub   'если выделена не одна ячейка - выход из процедуры                   Rem если изменененная ячейка попадает в диапазон A2:A100 или D2:D100          If   Not   Intersect(Target, Range(  "A2:A100,D2:D100"  ))   Is   Nothing   Then              With   Target.Offset(0, 1)   'вводим в соседнюю справа ячейку дату                  .Value = Time                  .EntireColumn.AutoFit   'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке              End   With          End   If    End   Sub   
 
Скажите пожалуйста а возможно ли прописать в макросе одного листа чтобы при нажатии кнопки  в столбце A  в столбец B проставлялось время, а при нажатии кнопки в столбце D в столбец E проставлялась дата и время (NOW) ?  Как организовать этот макрос или 2 макроса на одном листе. Спасибо.
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Цитата
написал:
Владислав, оформите код кнопкой <…> на панели
Код
    [URL=#]?[/URL]       1      Чтобы выглядел так   
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 
  For Each cell In Target   'проходим по всем измененным ячейкам
     If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
          With cell.Offset(0, 2)         'вводим в соседнюю справа ячейку дату
             .Value = Time
             .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
          End With
     End If
  Next cell
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
 
  For Each cell In Target   'проходим по всем измененным ячейкам
     If Not Intersect(cell, Range("D2:D100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон D2:D100
          With cell.Offset(0, 2)         'вводим в соседнюю справа ячейку дату
             .Value = Time
             .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
          End With
     End If
  Next cell
End Sub
"Разработчик" не активна кнопка "Вставить", "Разработчик" не активна кнопка "Вставить"
 
Цитата
написал:
СПАСИБО ВАМ ОГРОМНОЕ! Вы большой профессионал!
Это очень помогло!
Несколько макросов на листе, на одном листе два три и четыре макроса
 
Господа подскажите можно ли использовать на одном листе два три и четыре макроса

по вставке даты например мне надо при нажатии любой кнопки в столбике A в столбик B вставлять текущую дату

при помощи макроса ниже, как сделать так чтобы на этом же листе принажатии столбик А вставка была в В , затем при нажатии скажем D вставка была в E


Private Sub Worksheet_Change(ByVal Target As Range)
 
  For Each cell In Target   'проходим по всем измененным ячейкам
     If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
          With cell.Offset(0, 2)         'вводим в соседнюю справа ячейку дату
             .Value = Time
             .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
          End With
     End If
  Next cell
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
 
  For Each cell In Target   'проходим по всем измененным ячейкам
     If Not Intersect(cell, Range("D2:D100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон D2:D100
          With cell.Offset(0, 2)         'вводим в соседнюю справа ячейку дату
             .Value = Time
             .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
          End With
     End If
  Next cell
End Sub

расположив два макроса подряд выдаёт ошибку
"Разработчик" не активна кнопка "Вставить", "Разработчик" не активна кнопка "Вставить"
 
Цитата
написал:
"Разработчик" не активна кнопка "Вставить"
Коллеги у кого есть мысли почему кнопка вставить в разделе разработчик неактивна может кому удастся решить эту проблему и понять причину. Заранее благодарю.
"Разработчик" не активна кнопка "Вставить", "Разработчик" не активна кнопка "Вставить"
 
"Разработчик" не активна кнопка "Вставить"
Подсветка даты, правила наверное с датами не ясно
 
Чудеса какие-то
У меня по итогу заработало всё не понятно почему
сочетание данных клавиш работает для вставки в любом регистре клавиатуры

Но иногда отключается

Вот например сейчас перешёл на другой компьютер запустил EXCEL и там тоже работает
перешёл на третий компьютер и тамтоже запустил EXCEL и там не работает и после входа в режим редактирования и после переключения регистра и так далее

и даже не помогает операция которая мне помогла в первый раз
ctrl + S потом ctrl + w

:)

Чудеса WINDOWS 10

может в винде причина
Подсветка даты, правила наверное с датами не ясно
 
почему в одном документе это работает а в другом нет не знаю
Подсветка даты, правила наверное с датами не ясно
 
Цитата
написал:
Цитата
Владислав написал:
ячейки стали отображаться в R1C1
не стали отображаться, а я в установил чтобы так отображались
у меня по Ctrl + Shift + 4 - ничего не изменилось на листе и в активной ячейке в  том числе. видимо, это нормальный режим работы Excel
Всё должно работать
почему в одном документе это работает а в другом нет не знаю
Подсветка даты, правила наверное с датами не ясно
 
Цитата
написал:
Цитата
Владислав написал:
ячейки стали отображаться в R1C1
не стали отображаться, а я в установил чтобы так отображались
у меня по Ctrl + Shift + 4 - ничего не изменилось на листе и в активной ячейке в  том числе. видимо, это нормальный режим работы Excel
Нашёл решение
не знаю что оно делает и почему это помогло

ctrl + S потом ctrl + w

после этого при сочетании клавиш ctrl + shift + 4 и ctrl + shift + 6 - стали работать.
Подсветка даты, правила наверное с датами не ясно
 
Цитата
написал:
см. вложени
Спасибо, но после открытия файла ячейки стали отображаться в R1C1 это вернул, но перестала работать вставка текущей даты с помощь. горячих клавиш (Ctrl + Shift + 4 (;)) .

Что необходимо сделать, чтобы она снова заработала?

Буквально до запуска Вашего файла я вставлял данной комбинацией клавиш дату за 20 минут до, после открытия файла не работает

Подсветка даты, правила наверное с датами не ясно
 
Скажите пожалуйста как в табеле учёта рабочего времени при проставлении даты в определённую ячейку она подсвечивалась каким либо цветом если время прихода на работу раньше 9 утра то зелёным если позже 9 утра то красным

Дата в таком формате  , каждый день при проставлении даты в ячейк хочу чтобы она понимала что сегодняшнюю дату со временем скажем 9:00 нужно сравнить с датой фактического прихода на работу если приход на работу позже то красный цвет или светофор скажем более 15 минут опоздания красный менее 15 минут опоздания жёлтый и нет опоздания зелёный
Изменено: Владислав - 03.08.2022 18:08:54
автоматическая вставка даты и времени
 
Жаль

Вот например макрос
В котором дата проставляется в соседнюю ячейку
а мне нужно именно в любую на которую ткну и нажму любую клавишу
Код
Private Sub Worksheet_Change(ByVal Target As Range)     
    For Each cell In Target   &#39;проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  &#39;если изменененная ячейка попадает в диапазон A2:A100
            With cell.Offset(0, 1)         &#39;вводим в соседнюю справа ячейку дату
               .Value = Now
               .EntireColumn.AutoFit  &#39;выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
            End With
       End If
    Next cell
End Sub
Изменено: БМВ - 18.07.2022 20:35:48
автоматическая вставка даты и времени
 
автоматическая вставка даты и времени в ту же ячейку в которой курсор при нажатии любой кнопки
И если это макрос как задать области таблицы где нужно применение данного правила или макроса
Страницы: 1
Наверх