Предыдущая тема :: Следующая тема
|
Автор |
Сообщение |
Troxim Prizivnik - draftee

Зарегистрирован: 11.01.2007 Сообщения: 9
|
Добавлено: Чт Янв 11, 2007 9:51 am Заголовок сообщения: Замена формулы на её значение |
|
|
Как сделать так что бы при вводе значения в ячейку происходило автоматическое копирование в другую ячейку. Что бы если потом удалить исходную, то в ячейке куда было скопировано значени оно осталось. Помогите пожалуйста... очень надо |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Пт Янв 12, 2007 5:22 pm Заголовок сообщения: |
|
|
Никак, только макросами.
Или достаточно утомительной операций.
ЗЫ: без понимания зачем это надо, сложно дать вразумительный ответ... |
|
Вернуться к началу |
|
 |
Troxim Prizivnik - draftee

Зарегистрирован: 11.01.2007 Сообщения: 9
|
Добавлено: Пн Янв 15, 2007 9:35 am Заголовок сообщения: |
|
|
Спасибо я уже разобрался. Если у кого-то есть подобная проблема, может воспользоватся решением которое я нашёл.
Sheets("Заявка").Select
A9 = Range("A9")
Sheets("Заявка 2").Select
Range("A9") = A9
Можно конечно воспользоватся копирование и вставкой, но тогда возникают проблемы с очисткой буфера. И у пользователя будут выскакивать сообщения об ошибке. Так что я считаю что использование переменной самый оптимальный вариант. |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Пн Янв 15, 2007 5:20 pm Заголовок сообщения: |
|
|
Так это и есть макросы!  |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Пн Янв 15, 2007 5:24 pm Заголовок сообщения: |
|
|
Troxim писал(а): | Если у кого-то есть подобная проблема, может воспользоватся решением которое я нашёл.
...
|
От лица тех, у кого такая проблема может возникнуть: нужно наверное еще уточнить, куда этот код Вы вставили? Просто в обыкновенный макрос или повесили на какое-то событие?
Почему спрашиваю:
Цитата: | при вводе значения в ячейку происходило автоматическое копирование |
|
|
Вернуться к началу |
|
 |
Troxim Prizivnik - draftee

Зарегистрирован: 11.01.2007 Сообщения: 9
|
Добавлено: Чт Янв 18, 2007 11:32 am Заголовок сообщения: |
|
|
Вот к сожалению повесить это на событие мне не удалось. Поэтому вставил просто в макрос. Если знаете как то буду очень признателен если подскажете. |
|
Вернуться к началу |
|
 |
Филе микроавтобуса Efrejtor - lance-corporal

Зарегистрирован: 16.11.2006 Сообщения: 28 Откуда: Самара
|
Добавлено: Пн Янв 22, 2007 7:20 am Заголовок сообщения: |
|
|
Troxim писал(а): | Вот к сожалению повесить это на событие мне не удалось. Поэтому вставил просто в макрос. Если знаете как то буду очень признателен если подскажете. |
Код: | Private Sub Worksheet_Change(ByVal Target As Range)
'отключаем события, чтобы случайно не вызвать бесконечный
'цикл - мало ли, какие еще события у тебя будут
Application.EnableEvents = False
'если в измененном диапазоне есть хотя бы одно значение,
'т.е. если это было не удаление, то:
'все значения перенести с этого листа на второй лист
If Not Application.WorksheetFunction.CountA(Target) = 0 _
Then Worksheets(2).Range(Target.Address) = Target
'снова включаем обработку событий
Application.EnableEvents = True
End Sub |
Вот такое событие надо записать в лист, из которого должны копироваться значения. Будет автоматически копировать значения на второй лист в соответствующие ячейки. Вместо Worksheets(2) подставляй твой лист. |
|
Вернуться к началу |
|
 |
Troxim Prizivnik - draftee

Зарегистрирован: 11.01.2007 Сообщения: 9
|
Добавлено: Пн Янв 22, 2007 9:51 am Заголовок сообщения: |
|
|
Спасибо за помощь  |
|
Вернуться к началу |
|
 |
|