Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2016, 21:57   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Как дважды ввести данные в одну ячейку?

Всем привет!!
Подскажите?

Пример:

В А1 вносим данные, пусть 10, яч. С1 = А1*1,2
получил в
яч. А1 - 10 в С1 - 12

а, теперь нужно ещё в А1 внести 100
ЧТО БЫ:
в А1 = 110, а в С1 = 132

Как макросом это сделать?
(не хочется пару ячеек задействовать, придётся фейс менять)
А бывает и три ввода нужно сделать.

в С1 можно так
С1 =(С1 + А1)*1,2
а
как с А1 - ??

Спасибо.
valerij вне форума Ответить с цитированием
Старый 18.02.2016, 22:25   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

С1 оставьте как есть, а в код листа (правый клик по ярлычка - Исходный текст)
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim newVal
  If Target.Address = "$A$1" Then
    Application.EnableEvents = False
    newVal = Target.Value
    Application.Undo
    On Error Resume Next
    Target.Value = Target.Value + newVal
    Application.EnableEvents = True
  End If
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.02.2016, 22:50   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
С1 оставьте как есть, а в код листа (правый клик по ярлычка - Исходный текст)....
Отлично!!
А можно для книги? - Получилось.

А как исправлять ошибку?
Внёс 100, а нужно 50?
Или обнулить?
А -а!!
с минусом вводить.

Последний раз редактировалось valerij; 18.02.2016 в 22:56.
valerij вне форума Ответить с цитированием
Старый 18.02.2016, 23:04   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а можно так
в А1 =10 в С1 сосчиталось 12
нужно добавить 100
так и пишем А1 =10+100 в С1 тут же сосчиталось 132

и в С1 все считается и в А1 видна история как что добавлялось
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.02.2016, 23:16   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а можно так
в А1 =10 в С1 сосчиталось 12
нужно добавить 100
так и пишем А1 =10+100 в С1 тут же сосчиталось 132

и в С1 все считается и в А1 видна история как что добавлялось
В строку формул - не подходит.
(это же я не под себя делаю)
valerij вне форума Ответить с цитированием
Старый 18.02.2016, 23:40   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отличный вариант...

один раз случайно ошибся в наборе числа - а в А1 уже такое насчиталось!!! а ввод ЛЮБОГО очередного значения только усугубляет ситуацию (досчитывает и досчитывает к тому, что там было)

не знаю как ты, а я очень не люблю выслушивать от заказчика в свой адрес отборные проклятия
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 18.02.2016 в 23:50.
IgorGO вне форума Ответить с цитированием
Старый 19.02.2016, 01:18   #7
lion_art
Новичок
Джуниор
 
Регистрация: 19.02.2016
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
С1 оставьте как есть, а в код листа (правый клик по ярлычка - Исходный текст)
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim newVal
  If Target.Address = "$A$1" Then
    Application.EnableEvents = False
    newVal = Target.Value
    Application.Undo
    On Error Resume Next
    Target.Value = Target.Value + newVal
    Application.EnableEvents = True
  End If
End Sub
А можно это не для конкретной ячейки, а для всего столбца?
lion_art вне форума Ответить с цитированием
Старый 19.02.2016, 02:01   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

проблем возможных с одной ячейкой - мало, нужно со столбцом...
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim newVal
  If Target.Count > 1 Then Exit Sub
  If Not Intersect(Target, Columns(11)) Is Nothing Then
    Application.EnableEvents = False
    ...
Безумству храбрых - венки со скидкой!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.02.2016, 08:18   #9
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а я очень не люблю выслушивать от заказчика в свой адрес отборные проклятия
Я уже > 40 лет терплю, заказчик у меня - жена!!
Ей хочу облегчить работу.

За ошибкой ввода, есть контрольная цифра в накладной, правда только в первой, но то потом порешаем....

А теперь вопрос
Как мне в цикле сделать
[a1].Offset(dat * 15)
If Target.Address = "$A$1" Then
так не катит:
If Target.Address = "$[a].Offset(dat * 15)$1" Then
If Target.Address = "$A$1.Offset(dat * 15)" Then

Последний раз редактировалось valerij; 19.02.2016 в 08:49.
valerij вне форума Ответить с цитированием
Старый 19.02.2016, 09:27   #10
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от valerij Посмотреть сообщение
Как мне в цикле сделать [a1].Offset(dat * 15)
Что сделать? Словами объясните.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить картинку в одну ячейку Liderx Microsoft Office Excel 2 15.02.2016 18:53
Подтянуть данные из нескольких столбцов в одну ячейку shadowpuppet Microsoft Office Excel 1 26.12.2015 02:03
Записать в одну ячейку данные? Stem79 Microsoft Office Excel 21 06.02.2013 00:18
Как объединить значения дублей в одну ячейку azzaro Microsoft Office Excel 9 22.01.2011 14:45
Перегнать данные из столбца в одну ячейку KROZORS Microsoft Office Access 2 17.06.2009 17:58