Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/регистрация ввода по времени - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
регистрация ввода по времени
n_panthera Дата: Вторник, 20.08.2013, 16:08 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
здравствуйте!

есть задача: все данные веденные в ячейку B2 например, должны сохраняться переводя их следующею ячейку а ячейках A3:A... должно сохранятся время ввода в нижней ячейки.

если у кого есть предложения по оптимизации
 
Ответить
Сообщениездравствуйте!

есть задача: все данные веденные в ячейку B2 например, должны сохраняться переводя их следующею ячейку а ячейках A3:A... должно сохранятся время ввода в нижней ячейки.

если у кого есть предложения по оптимизации

Автор - n_panthera
Дата добавления - 20.08.2013 в 16:08
Формуляр Дата: Вторник, 20.08.2013, 16:12 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Есть конечно!
Для оптимизации нашего взаимодействия почитайте правила.


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 20.08.2013, 16:12
 
Ответить
СообщениеЕсть конечно!
Для оптимизации нашего взаимодействия почитайте правила.

Автор - Формуляр
Дата добавления - 20.08.2013 в 16:12
n_panthera Дата: Вторник, 20.08.2013, 16:20 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо за помощь!
 
Ответить
СообщениеСпасибо за помощь!

Автор - n_panthera
Дата добавления - 20.08.2013 в 16:20
n_panthera Дата: Вторник, 20.08.2013, 17:03 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
здравствуйте!

может не правильно задал вопрос.
другими словами нужна помощь в решении вот такой задачи
не потерять данные веденные в одну ячейку, например если в В2 = 3 то если ведут в В2 другое значение предыдущее должно перейти в В3 а в ячейке А3 должно выводится время записи значения = 3
заранее благодарен
 
Ответить
Сообщениездравствуйте!

может не правильно задал вопрос.
другими словами нужна помощь в решении вот такой задачи
не потерять данные веденные в одну ячейку, например если в В2 = 3 то если ведут в В2 другое значение предыдущее должно перейти в В3 а в ячейке А3 должно выводится время записи значения = 3
заранее благодарен

Автор - n_panthera
Дата добавления - 20.08.2013 в 17:03
KuklP Дата: Вторник, 20.08.2013, 17:21 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
n_panthera, может хватит уже тормозить? Читайте Правила, выкладывайте пример в файле(не картинку, не фотографию Ваших пальцев, на которых Вы что-то пытаетесь объяснять). :D Пока модеры не прикрыли тему.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщениеn_panthera, может хватит уже тормозить? Читайте Правила, выкладывайте пример в файле(не картинку, не фотографию Ваших пальцев, на которых Вы что-то пытаетесь объяснять). :D Пока модеры не прикрыли тему.

Автор - KuklP
Дата добавления - 20.08.2013 в 17:21
n_panthera Дата: Вторник, 20.08.2013, 17:33 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
вот и файл
К сообщению приложен файл: exemple.xlsx (8.8 Kb)
 
Ответить
Сообщениевот и файл

Автор - n_panthera
Дата добавления - 20.08.2013 в 17:33
KuklP Дата: Вторник, 20.08.2013, 18:24 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
В модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Target.Address <> "$B$2" Then Exit Sub
     Dim a
     a = Target.Value
     Application.EnableEvents = 0
     Application.Undo
     [B1:B2].Insert xlToRight, 1
     [b2] = a: [b1] = Time
     Application.EnableEvents = -1
End Sub
[/vba]
К сообщению приложен файл: exemple.xlsm (15.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВ модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Target.Address <> "$B$2" Then Exit Sub
     Dim a
     a = Target.Value
     Application.EnableEvents = 0
     Application.Undo
     [B1:B2].Insert xlToRight, 1
     [b2] = a: [b1] = Time
     Application.EnableEvents = -1
End Sub
[/vba]

Автор - KuklP
Дата добавления - 20.08.2013 в 18:24
Формуляр Дата: Вторник, 20.08.2013, 18:26 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
В модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Intersect(Target, [B2]) Is Nothing Then Exit Sub '>>>
        
      [B3] = Me.Names("B2_LastValue").Value
      [A3] = CDate(Mid$(Replace(Me.Names("B2_LastChangeTm").Value, Chr(34), ""), 2, 999))
      Me.Names("B2_LastValue").Value = [B2].Value
      Me.Names("B2_LastChangeTm").Value = Now
End Sub
[/vba]

B2_LastValue и B2_LastChangeTm - именованные переменные, принадлежащие листу.
К сообщению приложен файл: exemple.xls (30.5 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 20.08.2013, 18:27
 
Ответить
СообщениеВ модуль листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Intersect(Target, [B2]) Is Nothing Then Exit Sub '>>>
        
      [B3] = Me.Names("B2_LastValue").Value
      [A3] = CDate(Mid$(Replace(Me.Names("B2_LastChangeTm").Value, Chr(34), ""), 2, 999))
      Me.Names("B2_LastValue").Value = [B2].Value
      Me.Names("B2_LastChangeTm").Value = Now
End Sub
[/vba]

B2_LastValue и B2_LastChangeTm - именованные переменные, принадлежащие листу.

Автор - Формуляр
Дата добавления - 20.08.2013 в 18:26
n_panthera Дата: Вторник, 20.08.2013, 19:27 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
KuklP,
Спасибо за предложенное решение, но есть одно но возможно ли при защищенном листе после ввода в В2 снять программно защиту с листа сделать insert column внести все изменения и заблокировать опять лист
 
Ответить
СообщениеKuklP,
Спасибо за предложенное решение, но есть одно но возможно ли при защищенном листе после ввода в В2 снять программно защиту с листа сделать insert column внести все изменения и заблокировать опять лист

Автор - n_panthera
Дата добавления - 20.08.2013 в 19:27
n_panthera Дата: Вторник, 20.08.2013, 19:32 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Формуляр,
Спасибо за ответ, но при вводе данных выбивает ошибку
[vba]
Код
[A3] = CDate(Mid$(Replace(Me.Names("B2_LastChangeTm").Value, Chr(34), ""), 2, 999))
[/vba]
 
Ответить
СообщениеФормуляр,
Спасибо за ответ, но при вводе данных выбивает ошибку
[vba]
Код
[A3] = CDate(Mid$(Replace(Me.Names("B2_LastChangeTm").Value, Chr(34), ""), 2, 999))
[/vba]

Автор - n_panthera
Дата добавления - 20.08.2013 в 19:32
Serge_007 Дата: Вторник, 20.08.2013, 19:40 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
возможно ли при защищенном листе после ввода в В2 снять программно защиту с листа сделать insert column внести все изменения и заблокировать опять лист

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Count > 1 Then Exit Sub
       If Target.Address <> "$B$2" Then Exit Sub
           Dim a
           a = Target.Value
               Application.EnableEvents = 0
               Application.Undo
               ActiveSheet.Unprotect
                   [B1:B2].Insert xlToRight, 1
                   [b2] = a: [b1] = Time
               Application.EnableEvents = -1
               ActiveSheet.Protect
End Sub
[/vba]

[admin]n_panthera, оформляйте коды тегами![/admin]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
возможно ли при защищенном листе после ввода в В2 снять программно защиту с листа сделать insert column внести все изменения и заблокировать опять лист

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Count > 1 Then Exit Sub
       If Target.Address <> "$B$2" Then Exit Sub
           Dim a
           a = Target.Value
               Application.EnableEvents = 0
               Application.Undo
               ActiveSheet.Unprotect
                   [B1:B2].Insert xlToRight, 1
                   [b2] = a: [b1] = Time
               Application.EnableEvents = -1
               ActiveSheet.Protect
End Sub
[/vba]

[admin]n_panthera, оформляйте коды тегами![/admin]

Автор - Serge_007
Дата добавления - 20.08.2013 в 19:40
n_panthera Дата: Вторник, 20.08.2013, 19:59 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Serge_007,
Привет! Да лист защищен но значение что переносится в соседнею ячейку наследует незащищенные свойства.
К сообщению приложен файл: exemple1.xlsm (15.3 Kb)
 
Ответить
СообщениеSerge_007,
Привет! Да лист защищен но значение что переносится в соседнею ячейку наследует незащищенные свойства.

Автор - n_panthera
Дата добавления - 20.08.2013 в 19:59
n_panthera Дата: Вторник, 20.08.2013, 20:01 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
В прицепе ее тоже нужно защитить от изменений
 
Ответить
СообщениеВ прицепе ее тоже нужно защитить от изменений

Автор - n_panthera
Дата добавления - 20.08.2013 в 20:01
Serge_007 Дата: Вторник, 20.08.2013, 20:04 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Target.Address <> "$B$2" Then Exit Sub
         Dim a
         a = Target.Value
             Application.EnableEvents = 0
             Application.Undo
             ActiveSheet.Unprotect
                 [B1:B2].Insert xlToRight, 1
                 [b2] = a: [b1] = Time
                  Rows("2:2").Locked = -1
                  Range("B2").Locked = 0
             Application.EnableEvents = -1
             ActiveSheet.Protect
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Target.Address <> "$B$2" Then Exit Sub
         Dim a
         a = Target.Value
             Application.EnableEvents = 0
             Application.Undo
             ActiveSheet.Unprotect
                 [B1:B2].Insert xlToRight, 1
                 [b2] = a: [b1] = Time
                  Rows("2:2").Locked = -1
                  Range("B2").Locked = 0
             Application.EnableEvents = -1
             ActiveSheet.Protect
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 20.08.2013 в 20:04
n_panthera Дата: Вторник, 20.08.2013, 20:13 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Serge_007,
Спасибо.
Все работает.
Респект.
Тема закрыта.
 
Ответить
СообщениеSerge_007,
Спасибо.
Все работает.
Респект.
Тема закрыта.

Автор - n_panthera
Дата добавления - 20.08.2013 в 20:13
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!