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

Страницы: 1 2 3 След.
Поиск наибольшего и наименьшего по условиям
 
Итеративное вычисление постоянно подвешивает файл.
А макросом это возможно оформить?
Автозаполнение Даты при изменении в ячейке
 
Всё работает! Спасибо!
Автозаполнение Даты при изменении в ячейке
 
Цитата
Sanja написал:
Прикладываю файл. Исправленный
Да исправленый Игорь уже давал.
Откуда мне было знать-то, что три модуля надо вставлять.?
Пока виснет. Удалю с оригинального файла все модули - вставлю Ваши.. Проверю работоспособность, потом  буду по одному подключать нужные. Это надолго.. Пока спасибо всем за помощь.  Конечно это опять меня возвращает к мысли в посте №13.
Автозаполнение Даты при изменении в ячейке
 
Ух ты! Там ещё один модуль надо вставлять?!
Вставляю этот модуль - программа виснет :oops:  
Автозаполнение Даты при изменении в ячейке
 
не ставится - говорит, что нет знака =.
Вот нашёл вроде - в файле примере прописана процедура при открытии книги
Код
Option Explicit

Private Sub workbook_open()
  SetAA
End Sub
Я ёе добавил на книгу, теперь тут выдаёт  ошибку
на SetAA
Sub or Function not defined
Изменено: Igger - 05.01.2018 16:02:27
Автозаполнение Даты при изменении в ячейке
 
Цитата
Sanja написал: Какую ошибку выдает? А лучше проблемный файл покажите
1.на АА в строке
Код
check = c.Row > UBound(AA)

ошибка - Variable not defined и жёлтым выделяет:
Код
Private Sub Worksheet_Change(ByVal Target As Range)

2.Файл слишком большой - не выложу
Изменено: Igger - 05.01.2018 14:53:09
Автозаполнение Даты при изменении в ячейке
 
Sanja, Я с листа удаляю. всё равно ошибка. Может общие по книге могут конфликтовать?
Автозаполнение Даты при изменении в ячейке
 
Ігор Гончаренко - в вашем файле примера работает всё , как надо.
Вставляю код в оригинальный файл( там вместо колонок А,В и С колонки C,D и E соответственно)
с заменой 1 на 3 в строке Set a = Intersect(Target, Columns(1)) (я так понимаю для отслеживания колонки С, вместо А)
Остальное  должно остаться неизменным?
Выдаёт ошибку на
Код
check = c.Row > UBound(AA)
Вроде, как переменная АА не определена.
Тут либо, я что-то не доделываю, либо может существующие в книге коды по процедуре
Код
Worksheet_Change
конфликтуют.?
Ну И вот это для меня непостижимо - Then SetAA . Почему без пробела? АА - это диапазаон или переменная?
Изменено: Igger - 05.01.2018 14:39:15
Автозаполнение Даты при изменении в ячейке
 
Спасибо. В файле примере работает!
. Будем тестить в оригинале. Как я уже говорил там уже есть Worksheet_Change.
Надо смотреть, не будет ли конфликтов.
Автозаполнение Даты при изменении в ячейке
 
Всё по моему точно описано в первом сообщении темы. извините процитирую:
"Как сделать, чтобы дата не вставлялась(не обновлялась), если в ячейку   столбца С вставляется ( "копировать-вставить") такое же значение,  которое там и было?"
Кроме Вас этот вопрос крутило несколько человек, но ничего не получается, поэтому и много постов в теме. Поэтому я и "ругаю"  Excel,  который не предлагает функции Неменяемой Даты вместо Сегодня().
Извините,  наверное, я действительно не могу точно и понятно поставить задачу. Мне казалось, что в посте №1 и потом другой вариант в посте №10 вполне понятны.
В посте ниже на Вашу просьбу:  "1.Если в колонке А изменилось одно или несколько значений : "  К сожалению да, слово "изменилось" по разному трактуется в русском языке и в Excel. И  я теперь долго буду ругать себя за то, что не знал этого  :(
В любом случае спасибо! И мои извинения за потраченное Вами время.
Изменено: Igger - 29.12.2017 00:52:29
Автозаполнение Даты при изменении в ячейке
 
Цитата
Ігор Гончаренко написал:
если "А <> B" -  соотв. ячейка колонки С очищается
Это работает!
Изменено: Igger - 29.12.2017 00:20:55
Автозаполнение Даты при изменении в ячейке
 
Ігор Гончаренко,Тестирую, спасибо.

1. Некорректно код реагирует на вставку или ввод такого же значения в ячейку столбца А , какое там и было.
Было 4 - вставили 4 - дата поменялась, а это неправильно для поставленной задачи.
Изменено: Igger - 29.12.2017 00:24:58
Автозаполнение Даты при изменении в ячейке
 
Цитата
Юрий М написал:
Ну вот зачем ерунду писать?
Так я не за ответ вообще. Спасибо ему( тестирую!) и Вам за участие. А за ответ на конкретный вопрос - Есть ли возможность в Excel заменить СЕГОДНЯ() на несменяемую дату CTRL + ; ?
Изменено: Igger - 28.12.2017 23:51:08
Автозаполнение Даты при изменении в ячейке
 
Цитата
Ігор Гончаренко написал:
если я не умею пилотировать вертолет
Каждая система,, включая и упомянутый вами вертолёт-  совершенствуется. В том числе, и для упрощения управления.
При всём уважении к вашему профессионализму, Я остаюсь при мнении, что сложность задачи кажется(да может мне только кажется) небольшой, просто нет встроенного инструмента для реализации.
Требуется всего лишь в формулу =ЕСЛИ(A=B;СЕГОДНЯ();" ") в качестве аргумента включить вместо СЕГОДНЯ() неменяемую дату  - ну ту которую можно вставить обычными  CTRL +  ;
Изменено: Igger - 28.12.2017 23:39:18
Автозаполнение Даты при изменении в ячейке
 
Цитата
Ігор Гончаренко написал:
и так, в колонке А изменилось 1 или несколько значений и... как на это реагировать???
1.Если в колонке А изменилось одно или несколько значений :
- реакция EXEL:
Вставка текущей даты в соответстующую ячейку ( в том же ряду) колонки С, которая (Дата) меняется только при следующем изменении в соответствующей( из того же ряда) ячейке из колонки А, а не при изменении системного времени на компьютере.
2 Возможен вариант отслеживания не изменений в колонке А, а проверка равенства с соответствующим значением ячейки в колонке В(формула зависящая от А)
То есть, ЕСЛИ(A=B):
- реакция EXEL:
Вставка текущей даты в соответствующую ячейку ( в том  же ряду) колонки С, которая (Дата) меняется только   при потере равенства A=B?  а не при изменении системного времени на компьютере.
Изменено: Igger - 28.12.2017 23:14:09
Автозаполнение Даты при изменении в ячейке
 
Не помогает . Новая функция работает, как СЕГОДНЯ и всё, а надо Дату  или зафиксировать, или преобразовать в текст
Изменено: Igger - 28.12.2017 22:40:39
Автозаполнение Даты при изменении в ячейке
 
Цитата
Igger написал:
=ЕСЛИ(A=B;СЕГОДНЯ();" ")
Это ж надо  8-0  Вместо СЕГОДНЯ  можно вставить любой текст,  формулу, ссылку, но нельзя просто вставить нынешнюю ДАТУ и не менять её!  :evil: Почему надо что-то изобретать !? Хоть это, может кто  объяснить доступно? Раз нет вариантов, кроме, как писать что-то новое и недоступное пониманию простого пользователя. Ну вот не  вижу в этой задаче каких-то сверхпретензий с извилистыми логическими связями и тупиками. Вижу только несовершенство Excel в данном конкретном случае.  Ну вот хоть "Дату, как текст" можно вставить?
Заранее благодарю.

P.S. Интернет засыпан такими вопросами - решения нет.
Вот люди предлагают создать функцию
Код
Public Function chislo()
chislo = Now()
End Function

Не поможет? Проверяю.
Изменено: Igger - 28.12.2017 22:02:58
Автозаполнение Даты при изменении в ячейке
 
Цитата
Ігор Гончаренко написал:
1. файла-примера
2. точных инструкций, как система контроля должна отреагировать на определенные действия пользователя
Спасибо, что откликнулись.
1.Файл примера выложил - инструкция внутри.
2. Нужно учесть, что столбец А  периодически вручную( в будущем возможно макросом) заполняется копированием значений столбца B и что на листе отслеживается обработка изменений кодом
Код
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim lReply As Long
 If Target.Cells.Count > 1 Then Exit Sub
  If Not Intersect(Target, Range("P2:P4999,Q4:Q4999")) Is Nothing Then
     If IsEmpty(Target) Then Exit Sub
       If WorksheetFunction.CountIf(Range("Игроки_клуба"), Target) = 0 Then
          lReply = MsgBox("Добавить введенное имя " & _
                         Target & " в выпадающий список?", vbYesNo + vbQuestion)
          If lReply = vbYes Then
              Range("Игроки_клуба").Cells(Range("Игроки_клуба").Rows.Count + 1, 1) = Target
          End If
       End If
     End If
End Sub


Странно, конечно, что в Excel нет возможности вставить Дату по условию. Как  Сегодня(), но не меняющуюся потом.
Изменено: Igger - 28.12.2017 21:14:18
Автозаполнение Даты при изменении в ячейке
 
А если пойти другим путём?

есть три столбца
А - значение
В - формула с просчитываемыми постоянно значениями, зависящими от А
С- требуется внести дату, когда B будет( было)  равно А - и не менять её пока А=B, а при неравенстве A и В - очищать С
Что-то такое:
Код
=ЕСЛИ(A=B;СЕГОДНЯ();" ")
Только вместо СЕГОДНЯ, надо неизменяемую дату.
Извините, что морочу голову.
Изменено: Igger - 28.12.2017 20:43:37
Автоматическая нумерация по условиям
 
Solar,
Код
=ЕСЛИ(ЕПУСТО($P4);"";СЧЁТЗ($I$4:$I4))
Автоматическая нумерация по условиям
 
alex1210, не понял, вопроса, извините.

Цитата
a.i.mershik написал: не бывает что организация подряд пишется несколько раз подряд
Извините, не ответил.
Нет, не бывает
Автозаполнение Даты при изменении в ячейке
 
Итак есть варианта.
1. Любезно предложенный Михаилом Лебедевым
Скрытый текст

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

И код основанный на подсказках замечательных профессионалов с этого форума в соединении с Sub Worksheet_Changе по вставке "фамилии" в список.
Скрытый текст
Который  может менять дату одновременно при вставке нескольких ячеек, но видит ячейку , как изменённую, даже если при вставке вставляется такое же значение, как и было.

Ломаю, ломаю голову, как "объединить коды", чтобы и меняло дату при вставке одновременно нескольких ячеек, и игнорировало бы вставку нового значения, равного предыдущему. Голову сломал, хочеться добиться результата - но не по силам мне(((. Может кто даст заключение, что это невозможнщ, чтобы я плюнул бы уже на эту затею....или обнадёжил?
Изменено: Igger - 28.12.2017 01:47:24
Автозаполнение Даты при изменении в ячейке
 
Кто -нибудь поможет?  Как макрос, предложенный Михаилом, переделать, чтобы работало при вставке нескольких ячеек одновременно?

Или сделать вставку даты на пересчёт  соседней ячейки с формулой? Тогда исчезнет необходимость проверять по вставке
Изменено: Igger - 27.12.2017 00:14:01
Автозаполнение Даты при изменении в ячейке
 
Работает!
Но только для единичных вставок.
Надо как-то преобразовать макрос, чтобы работало при вставке нескольких ячеек одновременно.
Останавливает макрос и выделяет жёлтым  If val = Target
Изменено: Igger - 26.12.2017 00:19:30
Автозаполнение Даты при изменении в ячейке
 
Михаил Лебедев,Спасибо! попробую! Извините, сейчас некогда.
Автозаполнение Даты при изменении в ячейке
 
Может через процедуру ниже надо?
Код
Private Sub Worksheet_Calculate()
Изменено: Igger - 25.12.2017 18:34:39
Автозаполнение Даты при изменении в ячейке
 
Z,Спасибо за совет. Это так сложно, что надо обращаться в раздел "Работа"? Для понимания просто.
Изменений, то реальных нет.  Ведь вставляем то же, что там и стоит. Как сделать, чтобы не вставлялась дата при таких случаях.
Изменено: Igger - 25.12.2017 18:27:19
Автозаполнение Даты при изменении в ячейке
 
Здравствуйте
Имеется работающий код.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Cell In Target
 If Not Intersect(Cell, Range("C4:C1000")) Is Nothing Then
  With Range("E" & Cell.Row)
     .Value = Now
     .EntireColumn.AutoFit
     End With
    End If
   Next Cell
End Sub
Код вставляет дату в столбец Е при изменении в какой-либо ячейке в столбце С.
Как сделать, чтобы дата не вставлялась(не обновлялась), если в ячейку  столбца С вставляется ( "копировать-вставить") такое же значение, которое там и было?
Автоматическая вставка даты при вставке нескольких значений  столбца
 
Поменял местами части кода - "вставка фамилии" и "вставка даты изменения" - и всё заработало. Почему, так и не понял. Всем огромное спасибо за участие!
Автоматическая вставка даты при вставке нескольких значений  столбца
 
sokol92,Спасибо. Покрутим дальше
Страницы: 1 2 3 След.
Наверх