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

Вход

Регистрация

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

 

= Мир MS Excel/Как скопировать значение одной ячейки в другую при условии - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как скопировать значение одной ячейки в другую при условии
tench72 Дата: Среда, 05.12.2012, 01:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте уважаемые форумчане! У меня возникла проблема с созданием таблицы учета данных эл.счетчиков, ни как не могу сообразить как сделать копирование из одной ячейки в другую ячейку, при выполнении условия что в какой то другой ячейке (что то вроде кнопки) возникает ноль или единица, при этом если в "кнопочной" ячейке вписать значение "1", то копирование происходит, если "0", то ячейка остается не измененной, потому как в ней содержится тоже какое то нужное значение. Я все нарисовал в рисунке который прикрепил к сообщению. Я сначала подумал что все просто, функция ЕСЛИ(), условие: ячейка(кнопка)=1, то копировать из ячейки допустим А1 в ячейку В1, это все понятно, а вот когда условие не выполняется как в функции ЕСЛИ(), организовать операцию "ни чего не делать", то есть чтобы значение в ячейке В1 не изменялось, при значении ячейки кнопки =0, когда значение ячейки А1 может изменится или меняется???? Вот где собака зарыта:)
Буду очень признателен вам, а то уже всю голову поломал sad
К сообщению приложен файл: 1040326.jpg (58.8 Kb)


Сообщение отредактировал tench72 - Среда, 05.12.2012, 01:15
 
Ответить
СообщениеЗдравствуйте уважаемые форумчане! У меня возникла проблема с созданием таблицы учета данных эл.счетчиков, ни как не могу сообразить как сделать копирование из одной ячейки в другую ячейку, при выполнении условия что в какой то другой ячейке (что то вроде кнопки) возникает ноль или единица, при этом если в "кнопочной" ячейке вписать значение "1", то копирование происходит, если "0", то ячейка остается не измененной, потому как в ней содержится тоже какое то нужное значение. Я все нарисовал в рисунке который прикрепил к сообщению. Я сначала подумал что все просто, функция ЕСЛИ(), условие: ячейка(кнопка)=1, то копировать из ячейки допустим А1 в ячейку В1, это все понятно, а вот когда условие не выполняется как в функции ЕСЛИ(), организовать операцию "ни чего не делать", то есть чтобы значение в ячейке В1 не изменялось, при значении ячейки кнопки =0, когда значение ячейки А1 может изменится или меняется???? Вот где собака зарыта:)
Буду очень признателен вам, а то уже всю голову поломал sad

Автор - tench72
Дата добавления - 05.12.2012 в 01:15
AlexM Дата: Среда, 05.12.2012, 08:27 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Картинка это хорошо, но файл все равно нужен. Тем более он у вас есть.
Думаю задачу можно решить макросом. Что может упростить работу с таблицей учета.
Например так.
Ячейки с 0 и 1 (кнопки) не нужны.
При вводе новых показаний на Лист1 В3 на Лист2 значение текущего показания копируется в ячейку предыдущего показания, а на место текущего копируется значение с Лист1 В3.
При использовании макроса алгоритм может быть практически любой.
К сообщению приложен файл: tench72.xls (24.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 05.12.2012, 10:42
 
Ответить
СообщениеКартинка это хорошо, но файл все равно нужен. Тем более он у вас есть.
Думаю задачу можно решить макросом. Что может упростить работу с таблицей учета.
Например так.
Ячейки с 0 и 1 (кнопки) не нужны.
При вводе новых показаний на Лист1 В3 на Лист2 значение текущего показания копируется в ячейку предыдущего показания, а на место текущего копируется значение с Лист1 В3.
При использовании макроса алгоритм может быть практически любой.

Автор - AlexM
Дата добавления - 05.12.2012 в 08:27
tench72 Дата: Среда, 05.12.2012, 12:40 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Спасибо за ответ! Но есть одно Но я не профи в EXEL :(, и макросы писать не умею и как их писать, для каждой ячейки, или написав для одной потом копировать в остальные? А запускать макросы как, ручками, как в фотошопе? Вот в фотошопе я знаю как делать макросы и очень хорошо, а вот в EXEL, к сожалению нет.
А таблица учета на самом деле большая ну счетчиков много не менее 60!
Файла как такового нет, я его не сделал, только в пробном варианте для одного счетчика, как на картинке.
А что нельзя ли решить проблему с помощью формулы? Когда я использую формулу ЕСЛИ(), как сделать чтобы при выполнении условия ячейка копировалась, а при не выполнении условия, ни каких действий с ячейкой не производилось. Ну типа оператора NOP (нет операции) в ассемблере, нет ли таких функций или действий в EXEL? Если я в формуле вставляю ссылку на саму ячейку, то EXEL мне сообщает о циклической ссылке что не есть гуд sad
 
Ответить
СообщениеAlexM, Спасибо за ответ! Но есть одно Но я не профи в EXEL :(, и макросы писать не умею и как их писать, для каждой ячейки, или написав для одной потом копировать в остальные? А запускать макросы как, ручками, как в фотошопе? Вот в фотошопе я знаю как делать макросы и очень хорошо, а вот в EXEL, к сожалению нет.
А таблица учета на самом деле большая ну счетчиков много не менее 60!
Файла как такового нет, я его не сделал, только в пробном варианте для одного счетчика, как на картинке.
А что нельзя ли решить проблему с помощью формулы? Когда я использую формулу ЕСЛИ(), как сделать чтобы при выполнении условия ячейка копировалась, а при не выполнении условия, ни каких действий с ячейкой не производилось. Ну типа оператора NOP (нет операции) в ассемблере, нет ли таких функций или действий в EXEL? Если я в формуле вставляю ссылку на саму ячейку, то EXEL мне сообщает о циклической ссылке что не есть гуд sad

Автор - tench72
Дата добавления - 05.12.2012 в 12:40
Serge_007 Дата: Среда, 05.12.2012, 12:46 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (tench72)
как сделать чтобы при выполнении условия ячейка копировалась
Никак

Quote (tench72)
нет ли таких функций или действий в EXEL?
Нет


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (tench72)
как сделать чтобы при выполнении условия ячейка копировалась
Никак

Quote (tench72)
нет ли таких функций или действий в EXEL?
Нет

Автор - Serge_007
Дата добавления - 05.12.2012 в 12:46
AlexM Дата: Среда, 05.12.2012, 12:57 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Для работы макроса надо разрешить их исполнение в настройках безопасности Excel.
Макрос, который в приложенном файле предыдущего сообщения запускается сам по событию изменения значения в ячейке.
Запуск происходит если изменения в столбце В на Лист1. Так что добавляйте счетчики сколько хотите.
Алгоритм такой. Вы меняете значение в любой ячейке столбца В на лист1. Макрос запускается. В цикле ищется счетчик на Лист2 и данные копируются, переносятся и рассчитываются для данного счетчика. Если счетчик новый и на лист2 все ячейки пустые, то значение с Лист1 копируется сразу в две ячейки в столбце В и С
Код макроса в Спойлере

В файле код можно посмотреть нажав Alt+F11



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеДля работы макроса надо разрешить их исполнение в настройках безопасности Excel.
Макрос, который в приложенном файле предыдущего сообщения запускается сам по событию изменения значения в ячейке.
Запуск происходит если изменения в столбце В на Лист1. Так что добавляйте счетчики сколько хотите.
Алгоритм такой. Вы меняете значение в любой ячейке столбца В на лист1. Макрос запускается. В цикле ищется счетчик на Лист2 и данные копируются, переносятся и рассчитываются для данного счетчика. Если счетчик новый и на лист2 все ячейки пустые, то значение с Лист1 копируется сразу в две ячейки в столбце В и С
Код макроса в Спойлере

В файле код можно посмотреть нажав Alt+F11

Автор - AlexM
Дата добавления - 05.12.2012 в 12:57
tench72 Дата: Среда, 05.12.2012, 13:17 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

AlexM, спасибо!!!!!!!!! буду разбираться!
Мне канеш ответ Serge_007 понравился:) молодчага!
Как в армии НИКАК НЕТ!
 
Ответить
СообщениеAlexM, спасибо!!!!!!!!! буду разбираться!
Мне канеш ответ Serge_007 понравился:) молодчага!
Как в армии НИКАК НЕТ!

Автор - tench72
Дата добавления - 05.12.2012 в 13:17
Serge_007 Дата: Среда, 05.12.2012, 13:23 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вы спрашивали про Excel. В Excel эти действия выполнить невозможно
AlexM, предложил решение на VBA
Про VBA я ничего не писал smile

ЗЫ Отключите макросы - и решения не будет в принципе
ЗЫЗЫ Предложенное решение не будет работать в Excel starter и ОО


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВы спрашивали про Excel. В Excel эти действия выполнить невозможно
AlexM, предложил решение на VBA
Про VBA я ничего не писал smile

ЗЫ Отключите макросы - и решения не будет в принципе
ЗЫЗЫ Предложенное решение не будет работать в Excel starter и ОО

Автор - Serge_007
Дата добавления - 05.12.2012 в 13:23
tench72 Дата: Среда, 05.12.2012, 13:45 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

AlexM извините за незнание, но при выполнении макроса выскакивает сообщение:
Ошибка компиляции Не удается найти проект или библиотеку (Can't find project or library)
Где ее взять и как подключить к макросу?
Спасибо!
 
Ответить
СообщениеAlexM извините за незнание, но при выполнении макроса выскакивает сообщение:
Ошибка компиляции Не удается найти проект или библиотеку (Can't find project or library)
Где ее взять и как подключить к макросу?
Спасибо!

Автор - tench72
Дата добавления - 05.12.2012 в 13:45
AlexM Дата: Среда, 05.12.2012, 15:05 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Странно, это в моем файле так получается?
Я крайне редко подключаю дополнительные библиотеки. Подключены лишь те что по умолчанию. У меня Excel 2003. Подключены: Visual Basic For Applications, Microsoft Excel 11.0 Object Library, OLE Automation, Microsoft Office 11.0 Object Library.
Какие библиотеки подключены можно так. В редакторе VBA меню Tools - References.

Прочтите СТАТЬЮ на эту тему.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 05.12.2012, 15:12
 
Ответить
СообщениеСтранно, это в моем файле так получается?
Я крайне редко подключаю дополнительные библиотеки. Подключены лишь те что по умолчанию. У меня Excel 2003. Подключены: Visual Basic For Applications, Microsoft Excel 11.0 Object Library, OLE Automation, Microsoft Office 11.0 Object Library.
Какие библиотеки подключены можно так. В редакторе VBA меню Tools - References.

Прочтите СТАТЬЮ на эту тему.

Автор - AlexM
Дата добавления - 05.12.2012 в 15:05
tench72 Дата: Среда, 05.12.2012, 15:14 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

AlexM, все прояснилось, если я запускаю exel на виндовс ХР, то все работает, а если на виндовс 7 х64, то пишет вот такую ошибку!
 
Ответить
СообщениеAlexM, все прояснилось, если я запускаю exel на виндовс ХР, то все работает, а если на виндовс 7 х64, то пишет вот такую ошибку!

Автор - tench72
Дата добавления - 05.12.2012 в 15:14
tench72 Дата: Среда, 05.12.2012, 15:20 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Большое человеческое спасибо Вам AlexM!!!!!!!!!!!!!!!!
Слава богу что еще остались люди, которые могут просто помочь!!!!!!!!!
Да да именно на халяву!!!!!!! Потому как помощь за не халяву это уже не помощь:)
а просто бизнес и ни чего личного:)))))
Будем изучать exel глубже, всем здоровья и удачи и еще раз спасибо!
 
Ответить
СообщениеБольшое человеческое спасибо Вам AlexM!!!!!!!!!!!!!!!!
Слава богу что еще остались люди, которые могут просто помочь!!!!!!!!!
Да да именно на халяву!!!!!!! Потому как помощь за не халяву это уже не помощь:)
а просто бизнес и ни чего личного:)))))
Будем изучать exel глубже, всем здоровья и удачи и еще раз спасибо!

Автор - tench72
Дата добавления - 05.12.2012 в 15:20
Andrej092 Дата: Четверг, 18.07.2013, 13:51 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте, собрал такой макрос. Проверяет время каждые 10 сек и если время до 12,00 то он стирает значение из ячейки "А1"
Есть несколько вопросов.
1) Как сделать чтоб он проверял изменения в ячейке Б1?Если значение в ячейке B1 изменилось то значение из ячейки А1 удаляются.
If Range("B1").value <> 'Не знаю что писать дальше sad Then
2) Как сделать сравнение двух ячеек? Если в "А1" вписывается число, то тогда "B1" становиться пустой и наоборот если заполняется "B1" то "А1" становится пустой
3) Можно ли для пункта Nr2 прописать макрос без времени, а чтоб это делалось сразу автоматически а не через 10 сек ( Можно конечно изменить время, поставить не 10 сек а 1 сек, но хотелось бы без него )

Sub myMacro()
Dim sh As Worksheet
Application.OnTime Now() + TimeSerial(0, 0, 10), "myMacro"
Set sh = ActiveWorkbook.Sheets(1)
If Time < 0.5 Then
Debug.Print Time
ActiveSheet.Range("A1").ClearContents
End If
End Sub


:)
 
Ответить
СообщениеЗдравствуйте, собрал такой макрос. Проверяет время каждые 10 сек и если время до 12,00 то он стирает значение из ячейки "А1"
Есть несколько вопросов.
1) Как сделать чтоб он проверял изменения в ячейке Б1?Если значение в ячейке B1 изменилось то значение из ячейки А1 удаляются.
If Range("B1").value <> 'Не знаю что писать дальше sad Then
2) Как сделать сравнение двух ячеек? Если в "А1" вписывается число, то тогда "B1" становиться пустой и наоборот если заполняется "B1" то "А1" становится пустой
3) Можно ли для пункта Nr2 прописать макрос без времени, а чтоб это делалось сразу автоматически а не через 10 сек ( Можно конечно изменить время, поставить не 10 сек а 1 сек, но хотелось бы без него )

Sub myMacro()
Dim sh As Worksheet
Application.OnTime Now() + TimeSerial(0, 0, 10), "myMacro"
Set sh = ActiveWorkbook.Sheets(1)
If Time < 0.5 Then
Debug.Print Time
ActiveSheet.Range("A1").ClearContents
End If
End Sub

Автор - Andrej092
Дата добавления - 18.07.2013 в 13:51
Serge_007 Дата: Четверг, 18.07.2013, 13:58 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Есть несколько вопросов
Все ответы есть в правилах форума. Прочитайте их внимательно. И оформляйте коды тегами
Эта тема закрыта


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Есть несколько вопросов
Все ответы есть в правилах форума. Прочитайте их внимательно. И оформляйте коды тегами
Эта тема закрыта

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

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