0
- 28.04.2012 - 10:07
|
вообщем задача такая: в ячейку а1 ввожу числовое значение нужно чтобы в ячейке б1 появлялась текущая дата это у меня получилось, но при открытии на следующий деньпредыдущие даты в б1 меняются на текущую, как сделать, чтобы они оставались неизменны? | |
1
- 28.04.2012 - 10:50
|
В Excel неразрешимых задач не существует. Вы вставили в B1 формулу вида =СЕГОДНЯ() или =ТДАТА() Они пересчитываются при открытии файла, значит если нужно их заморозить - превратите их в значения одним из способов: 1) Скопировать - Спец вставка - как значения 2) Написать макрос, которые будет по сочетанию клавиш типа Ctrl+Q вставлять значение: Sub PasteAsValue() ActiveCell.Value = ActiveCell.Value End Sub Нажмите Alt+F11, создайте модуль, встаьте макрос, затем из Excel назначьте ему сочетание клавиш. 3) Написать макрос, который автоматически, при закрытии и сохранении файла заменяет формулы в этом же столбце на значения, кроме последней ячейки. Правда есть один нюанс: если заработаться до полуночи - дата может поменяться. ... Способы наверняка еще есть, времени у меня сегодня мало, поэтому на этих 5 ти минутах остановимся. | |
2
- 28.04.2012 - 11:02
|
1-economist >дело в том, что макросы писать не умею, а остальными способами как понимаю ничего не сделаешь.. первый вариант не катит - слишком рутинно п.с. ну если что загляните сюда попозже | |
3
- 28.04.2012 - 12:32
|
Задача слишком простая или просто не дописана. Вы вводите какие-то показатели ежедневно в таблицу, хотите чтобы каждый из них имел подпись дата/время ввода, причем так, чтобы нельзя было эту дату специально/случайно изменить. Если задача именно "протоколирование" факта изменений - можно написать более удобный макрос. ... Макросы не так страшны - например в п. 2 приведен макрос который пишется за секунды, он готов, его просто остается вставить (так же как и вставить ячейки)... В общем, опишите задачу - поможем. | |
4
- 28.04.2012 - 13:17
|
именно ежедневно вношу в таблицу до 30-40 строк следующего вида: номер поручения дата поручения текущая дата сумма так вот надо чтобы при вводе номера поручения текущая дата ставилась сегодняшним числом, а когда я завтра эту таблицу открою все даты не стали затрашним числом и принцип работы остался тот же | |
banned 5
- 28.04.2012 - 13:29
| дело в том, что макросы писать не умею Если без макросов, то 1. Для ячеек, в которых будет дата, устанавливаете условное форматирование по формуле =ЕПУСТО(А1) и выбираете формат текст - белый цвет. Смысл: Если А1 пустая, то в В1 текст не виден. 2. В В1 вписываем формулу =ЕСЛИ(A1;B1;ТДАТА()) 3. В1 "растягиваем" на нужные нам ячейки. 4. При открытии книги выскакивает предупреждение о циклических ссылках, которое игнорируем. Как-то так... | |
6
- 28.04.2012 - 13:48
|
ребята, вы реально монстры, где вы этому учились? как обычному пользователю до такого дойти? | |
banned 7
- 28.04.2012 - 14:01
| ребята, вы реально монстры Прикинь, какие монстры те, кто Excel написал! :) Для снятия ошибки циклических ссылок: Параметры Excel - Формулы - включить "Включить итеративные вычисления". | |
8
- 28.04.2012 - 14:14
| спасибо, все работает, только скажите как где и спомощью чего обуздать этот эксель? | |
banned 9
- 28.04.2012 - 14:21
| спасибо, все работает, только скажите как где и спомощью чего обуздать этот эксель? Открою тайну, как я ответил на Ваш вопрос. 1. http://yandex.ru/yandsearch?text=%D0...id=48648&lr=35 2. Первая ссылка http://www.planetaexcel.ru/forum.php?thread_id=25653 3. Скачивание примера из предпоследнего поста и разбор его; 4. Написание примера под Ваш вопрос; 5. Ответ. :))) | |
banned 10
- 28.04.2012 - 14:24
|
9+ Вот таким способом я изучаю Excel... ;) | |
11
- 28.04.2012 - 14:25
| 10-Технолог >) | |
12
- 28.04.2012 - 16:09
| Если случайно отключить итерации - вся таблица испортится. | |
banned 13
- 29.04.2012 - 12:30
| Если случайно отключить итерации - вся таблица испортится. Даже если войти в редактирование формулы и выйти, то уже значение сбросится на 1900. Так что придется автору знакомиться с VBA... Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Target.Offset(0, 1).Value = Now() End Sub А дальше уже вводить проверки на введенное значение и т.д, и т.п... | |
14
- 29.04.2012 - 23:56
| Технолог - ну раз мы монстры - дождемся все-таки реального примера в XLS (надеюсь это не гостайна, ПД или таблица откатов олимпстроя дальневосточных североморцев газмяса). А затем допишем макрос на изменение столбца D или какого там... И выложим-таки файлик... Кстати, в Lotus 1-2-3 и SuperCalc была формула, вычисляемая 1 раз, в момент ввода в ячейку слева. | |
| Интернет-форум Краснодарского края и Краснодара |