Уважаемые знатоки Excel 2007 помогите разобраться со следующей проблемой... Не работают горячие клавиши Ctrl+; и Ctrl+Shift+; для вставки текущих даты и времени. В Excel 2003 всегда работало, а в 2007 почему-то не работает((( Самое интересное, что сейчас и 2003 перестало работать. Похоже, как будто где-то в системе это сочетание клавиш отключено.. Но к сожалению я не знаю где это вообще настраивается(((
И ещё такой вопрос, может кто-то сталкивался с таким. Можно ли сделать, что бы дата и время текущие вставлялись автоматически при выполнении определённого условия, НО больше потом не пересчитывались пока опять не выполнится то условие? Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные.
Спасибо!
Уважаемые знатоки Excel 2007 помогите разобраться со следующей проблемой... Не работают горячие клавиши Ctrl+; и Ctrl+Shift+; для вставки текущих даты и времени. В Excel 2003 всегда работало, а в 2007 почему-то не работает((( Самое интересное, что сейчас и 2003 перестало работать. Похоже, как будто где-то в системе это сочетание клавиш отключено.. Но к сожалению я не знаю где это вообще настраивается(((
И ещё такой вопрос, может кто-то сталкивался с таким. Можно ли сделать, что бы дата и время текущие вставлялись автоматически при выполнении определённого условия, НО больше потом не пересчитывались пока опять не выполнится то условие? Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные.
Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные.
Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные.
Попобуйте сочетания ctrl+shift+4,ctrl+shift+6 Это в модуль листа: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application: .EnableEvents = False [b1] = Date: [c1] = Time: .EnableEvents = True: End With End Sub
[/vba]
Попобуйте сочетания ctrl+shift+4,ctrl+shift+6 Это в модуль листа: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application: .EnableEvents = False [b1] = Date: [c1] = Time: .EnableEvents = True: End With End Sub
alazik, Доброго времени суток Цитата, alazik писал(а):Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные. Посмотрте здесь. Сообщение №14 автор kim
Спасибо! Нашёл то сообщение.. скачал файл примера.. но((((.. при вводе в зелёные ячейки выскакивают постоянно даты 04.01.11 0:08:00, т.е. явно не текущая дата и время... и при открытии того файла выскакивает сообщение об ошибке с цикличной ссылкой... попробую поплясать от этого примера, что бы снять цикличность и что бы работало правильно
Quote (0mega)
alazik, Доброго времени суток Цитата, alazik писал(а):Например надо, что бы после ввода в ячейку A1 данных, в ячейках B2 появилась текущая дата, а в ячейке С3 появилось текущее время. И эти дата и время НЕ менялись при открытии листа или ещё чего. Поменяться даты и время должна только в одном случае - если в ячейке A1 перезаписали данные. Посмотрте здесь. Сообщение №14 автор kim
Спасибо! Нашёл то сообщение.. скачал файл примера.. но((((.. при вводе в зелёные ячейки выскакивают постоянно даты 04.01.11 0:08:00, т.е. явно не текущая дата и время... и при открытии того файла выскакивает сообщение об ошибке с цикличной ссылкой... попробую поплясать от этого примера, что бы снять цикличность и что бы работало правильно
Спасибо!! Это работает))))) супер.. только вот пальцы так растопыревать не очень удобно))) а нельзя где-то настроить, что бы заработало Ctrl+; и Ctrl+Shift+; ? судя по тому, что работает ctrl+shift+4,ctrl+shift+6 наверное это где то прописывается?
и извините за нубизм(((... а что такое модуль листа?
Quote (KuklP)
Попобуйте сочетания ctrl+shift+4,ctrl+shift+6
Спасибо!! Это работает))))) супер.. только вот пальцы так растопыревать не очень удобно))) а нельзя где-то настроить, что бы заработало Ctrl+; и Ctrl+Shift+; ? судя по тому, что работает ctrl+shift+4,ctrl+shift+6 наверное это где то прописывается?
и извините за нубизм(((... а что такое модуль листа?
Это в модуль листа: Формула или Код VBA: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application: .EnableEvents = False [b1] = Date: [c1] = Time: .EnableEvents = True: End With End Sub
а-а-а.. ваще супер)))) работает))) нашёл я этот модуль))) я так понимаю, если мне надо, что бы даты и время вводились в B и в С , когда вводятся данные на той же строке в стобце A, в модуле то же самое надо задать диапазонами? Подскажите где можно почитать про эти модули, что это такое и с чем их едят? Чую интересная тема эти модули)))
Quote (KuklP)
Это в модуль листа: Формула или Код VBA: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Application: .EnableEvents = False [b1] = Date: [c1] = Time: .EnableEvents = True: End With End Sub
а-а-а.. ваще супер)))) работает))) нашёл я этот модуль))) я так понимаю, если мне надо, что бы даты и время вводились в B и в С , когда вводятся данные на той же строке в стобце A, в модуле то же самое надо задать диапазонами? Подскажите где можно почитать про эти модули, что это такое и с чем их едят? Чую интересная тема эти модули)))
спасибо)) я так и думал, что где то на этом сайте))
может подскажите, что бы мне сейчас не искать (потом обязательно посмотрю всё про эти модули), как всё-таки надо исправить код, написанный Вами, что бы это всё работало и на остальных строках, а не только на первой? спасибо большое!
Quote (KuklP)
http://www.excelworld.ru/
спасибо)) я так и думал, что где то на этом сайте))
может подскажите, что бы мне сейчас не искать (потом обязательно посмотрю всё про эти модули), как всё-таки надо исправить код, написанный Вами, что бы это всё работало и на остальных строках, а не только на первой? спасибо большое!
что бы даты и время вводились в B и в С , когда вводятся данные на той же строке в стобце A,
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, 1) = Date: Target.Offset(, 2) = Time: .EnableEvents = True: End With End Sub
[/vba]
Цитата (alazik)
что бы даты и время вводились в B и в С , когда вводятся данные на той же строке в стобце A,
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, 1) = Date: Target.Offset(, 2) = Time: .EnableEvents = True: End With End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, 1) = Date: Target.Offset(, 2) = Time: .EnableEvents = True: End With End Sub
Невероятно.. Вы гений!!! На сколько я понял: цифра 1 в строке "If Target.Column <> 1 Then Exit Sub" - это номер столбца в который вводятся данные, т.е. если нужен столбец E, то вместо 1 надо написать 5 Target.Offset(, 1) - это значить следующий столбец (относительно E это будет столбец F) Target.Offset(, 2) - это столбец через один (относительно Е столбец G)
мне только не понятно, как надо указать, если нам дату и время надо, что вставлялись в предыдущие столбцы))) например данные заносим в столбец E, а дата и время должны появляться в столбцах C и D можете уточнить ещё этот момент (думаю последний момент), если конечно это вас не затруднит?
Quote (KuklP)
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, 1) = Date: Target.Offset(, 2) = Time: .EnableEvents = True: End With End Sub
Невероятно.. Вы гений!!! На сколько я понял: цифра 1 в строке "If Target.Column <> 1 Then Exit Sub" - это номер столбца в который вводятся данные, т.е. если нужен столбец E, то вместо 1 надо написать 5 Target.Offset(, 1) - это значить следующий столбец (относительно E это будет столбец F) Target.Offset(, 2) - это столбец через один (относительно Е столбец G)
мне только не понятно, как надо указать, если нам дату и время надо, что вставлялись в предыдущие столбцы))) например данные заносим в столбец E, а дата и время должны появляться в столбцах C и D можете уточнить ещё этот момент (думаю последний момент), если конечно это вас не затруднит?
Чтобы работала эта раскладка надо чтобы язык ввода по умолчанию был английский
ларчик просто открывался))) заработало)) спасибо)))
но теперь зная, что есть модули, которые вон как интересно работают, уже даже на Ctrl+; и Ctrl+Shift+; время тратить не хочется, раз уж даты и время могут появляться автоматически)))
Quote (DV)
Чтобы работала эта раскладка надо чтобы язык ввода по умолчанию был английский
ларчик просто открывался))) заработало)) спасибо)))
но теперь зная, что есть модули, которые вон как интересно работают, уже даже на Ctrl+; и Ctrl+Shift+; время тратить не хочется, раз уж даты и время могут появляться автоматически)))
мне только не понятно, как надо указать, если нам дату и время надо, что вставлялись в предыдущие столбцы))) например данные заносим в столбец E, а дата и время должны появляться в столбцах C и D можете уточнить ещё этот момент (думаю последний момент), если конечно это вас не затруднит?
разобрался))) [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, -2) = Date: Target.Offset(, -1) = Time: .EnableEvents = True: End With End Sub
[/vba]
вот так работает))
Цитата (alazik)
мне только не понятно, как надо указать, если нам дату и время надо, что вставлялись в предыдущие столбцы))) например данные заносим в столбец E, а дата и время должны появляться в столбцах C и D можете уточнить ещё этот момент (думаю последний момент), если конечно это вас не затруднит?
разобрался))) [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 Then Exit Sub With Application: .EnableEvents = False Target.Offset(, -2) = Date: Target.Offset(, -1) = Time: .EnableEvents = True: End With End Sub