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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2011, 14:18   #11
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

не чего не происходит!
я на примере разбираюсь: 2 кнопки, первая "Выполнить":

Private Sub CommandButton1_Click()
Dim uc As Integer
uc = 0
Range("J13").Select: uc = uc + 1
ActiveCell.FormulaR1C1 = "56": uc = uc + 1
Range("J14").Select: uc = uc + 1
End Sub

Вторая "Отменить":

Private Sub CommandButton2_Click()
Do While uc > 0
Application.Undo
uc = uc - 1
Loop
End Sub

Последний раз редактировалось Серёга0629; 10.05.2011 в 14:20.
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 14:25   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

читайте доку:
Undo восстанавливает изменения, внесенные в документ с пользовательского интерфейса.

впишите в J13 56 вручную, а потом выполните Undo - увидите...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.05.2011, 14:30   #13
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

а отменить действие макроса невозможно??? вообще не как?
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 14:36   #14
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

да и так отмена не работает, у меня же счётчик идёт при выполнении команды(нажав на кнопку), если так ввести в ячейку J13 56 и нажать "Отмена", не чего не произойдёт
Что-то я не врублюсь(( объясните инвалиду)
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 14:57   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение

а если изменения внесены макросом, то запонимайте предварительное состояние, и восстанавливайте его своим же макросом (другим)
удачи!
Вложения
Тип файла: rar Книга674.rar (3.5 Кб, 9 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 10.05.2011 в 15:01.
IgorGO вне форума Ответить с цитированием
Старый 10.05.2011, 15:07   #16
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Спасибо))
хреново, что макросы отменять нельзя
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 15:20   #17
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

а как запонимайть предварительное состояние? по Googl-у пусто
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 15:34   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а без гугля слабо?
и Hugo писал как это сделать и я что-то советовал (без всяких восстновлений) - мы не понимаем, чего Вы хотите добиться от этого всего, поэтому, видимо, и не угадываем с советами.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 10.05.2011, 15:50   #19
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

В идеале хочется так:
пользователь через диалоговое окно на котором есть кнопка "Экспорт" экспортирует данные. Есть также кнопка "Откат", чтоб в случае, если что-то не то всё стало на свои места, даже после автосохранения.
Я та, могу создать копии, сопоставлять и т.д., но пользователю нужно чтоб всё было максимально просто
Такое возможно? или я горожу огород
Серёга0629 вне форума Ответить с цитированием
Старый 10.05.2011, 15:58   #20
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от Серёга0629 Посмотреть сообщение
не чего не происходит!
я на примере разбираюсь: 2 кнопки, первая "Выполнить":

Private Sub CommandButton1_Click()
Dim uc As Integer
uc = 0
Range("J13").Select: uc = uc + 1
ActiveCell.FormulaR1C1 = "56": uc = uc + 1
Range("J14").Select: uc = uc + 1
End Sub

Вторая "Отменить":

Private Sub CommandButton2_Click()
Do While uc > 0
Application.Undo
uc = uc - 1
Loop
End Sub
Кроме того, что только ручные изменеия могут быть отменены, в данном коде переменная uc свою роль не выполняет. Её нужно задать публично, чтоб она была доступна из обоих процедур, и обнулять её вероятно нужно в момент, с которого нужно запоминать изменения, а не при нажатии кнопки, вносящей эти изменения.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Док станция для ноутбуков misher Компьютерное железо 0 31.03.2011 16:54
как вернуть звук? Дініс Компьютерное железо 12 27.08.2009 10:13
Как вернуть Swithboard? Skolot Microsoft Office Access 4 08.06.2009 09:45
SOS. Не могу открыть, сохранить док.ворд 2007 ola-ola Microsoft Office Word 3 17.03.2009 21:57
Как вернуть избранное Умелец Свободное общение 1 29.05.2007 13:03