Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Изменение ячейки Добавлено: 17.09.08 12:43  

Автор вопроса:  zsws
Всем добрый день!
Подскажите пожалуйста, можно ли создать код, чтобы при изменении ячеек на листе возвращалось исходное значение, т.е. например в ячейке А1 стоит 52, ее изменяешь, а там опять появляется 52. Я плохо разбираюсь в программировании, поэтому буду оч. благодарен, если с примером кода.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 18.09.08 11:38
Да, можно. Я хорошо разбираюсь в программировании, поэтому готовый код на твое тех.задание (+пояснение, зачем это тебе надо) скоро могу прислать в ответ на запрос mc-black[собака]yandex[точка]ru
* Услуга платная, но не дорогая )

Ответить

Номер ответа: 2
Автор ответа:
 zsws



Вопросов: 2
Ответов: 5
 Профиль | | #2 Добавлено: 18.09.08 13:26
Cпасибо, мне это надо из интереса. Если Вы оказываете платные услуги, я могу подыскать Вам клиентов. Услуга в свою очередь платная, но зато в процентах.

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 19.09.08 11:38
1. Сделать можно почти всё, но из интереса - извини, неинтересно )
2. Давай подыскивай - получишь свои %%

Ответить

Номер ответа: 4
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #4
Добавлено: 19.09.08 11:49
    Может быть такой вариант (упрощённо). — По событию Worksheet_SelectionChange запоминать содержимое ячейки, по событию Worksheet_Change восстанавливать исходное значение.

Ответить

Номер ответа: 5
Автор ответа:
 zsws



Вопросов: 2
Ответов: 5
 Профиль | | #5 Добавлено: 19.09.08 12:50
Спасибо. В случае единичного выделения ячейки это работает. Но если выделено несколько ячеек, то возвращается значение первой.

Ответить

Номер ответа: 6
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #6
Добавлено: 19.09.08 13:05
   Нет. Возвращается значение Range, где можно узнать размер выделенной области. Соответственно и принять решение. Например, запретить выделения области ("переставить" выделение только на первую ячейку), или всё таки запомнить в динамическом массиве всю область. Короче, сложнее, но вполне решаемо.

Ответить

Номер ответа: 7
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #7 Добавлено: 19.09.08 18:32
Или пройтись по всем ячейкам диапазона. В случае, если захочется еще что-либо сделать с ячейками. :-)

Ответить

Номер ответа: 8
Автор ответа:
 zsws



Вопросов: 2
Ответов: 5
 Профиль | | #8 Добавлено: 19.09.08 20:50
С массивом мне не очень понятно, как потом отследить, какая ячейка выбрана. Я запретил выделение больше одной ячейки. Но вот что делать с автозаполнением ячеек (когда тянут снизу за крестик) или с копированием формата другой ячейки, при котором у меня почему-то копируется и вставляется не только формат, но и значение ячейки, а также с перетаскиванием ячейки, я уже не знаю. Событие change на эти действия как-то не очень реагирует.

Ответить

Номер ответа: 9
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #9
Добавлено: 20.09.08 21:49
____ Может держать копию листа в скрытой форме?

Ответить

Номер ответа: 10
Автор ответа:
 zsws



Вопросов: 2
Ответов: 5
 Профиль | | #10 Добавлено: 22.09.08 01:12
Хотелось бы в открытой.

Ответить

Номер ответа: 11
Автор ответа:
 ADSemenov.ru



Вопросов: 5
Ответов: 276
 Web-сайт: www.adsemenov.ru
 Профиль | | #11
Добавлено: 28.09.08 00:21
    Не понял. Я имел ввиду, что можно всегда держать копию всего листа и не показывать его пользователю. При любых изменениях рабочего листа смотреть в копию и принимать решение о правомерности действий пользователя. Соответственно, либо отменять его действия, восстанавливая значения в рабочем листе по значениям из скрытой копии, либо позволять пользовательские изменения.

Ответить

Номер ответа: 12
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #12 Добавлено: 28.09.08 04:00
zsws пишет:
Cпасибо, мне это надо из интереса. Если Вы оказываете платные услуги, я могу подыскать Вам клиентов. Услуга в свою очередь платная, но зато в процентах.


Если хочешь, поищи мне клиентов, я оказываю платные услуги.
Цена вопроса - 60 евро в час, все что выше - забираешь себе (т.е. если договоришься с заказчиком на 100 евро в час, то себе будешь забирать 40%)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам