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

Вход

Регистрация

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

 

= Мир MS Excel/создание кнопки RESET - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
создание кнопки RESET
Aexbro Дата: Вторник, 23.07.2013, 21:25 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 4 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте. Я несилен макросе, даже прочитав подобный пост, честно ничего не понял. Помогите создать кнопку RESET сбрасывающую все значения в незакрашенных ячейках (незакрашенные для визуальности). Ячейки с формулами, защищены паролем 288520. Заранее спасибо за ваше внимание и время
К сообщению приложен файл: MM_SCH.xls (84.0 Kb)
 
Ответить
СообщениеЗдравствуйте. Я несилен макросе, даже прочитав подобный пост, честно ничего не понял. Помогите создать кнопку RESET сбрасывающую все значения в незакрашенных ячейках (незакрашенные для визуальности). Ячейки с формулами, защищены паролем 288520. Заранее спасибо за ваше внимание и время

Автор - Aexbro
Дата добавления - 23.07.2013 в 21:25
SkyPro Дата: Вторник, 23.07.2013, 23:03 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub reset()
Dim rCell As Range
      For Each rCell In Sheets(1).UsedRange
          If rCell.Locked = False Then
              rCell.Formula = ""
          End If
      Next
End Sub
[/vba]
"очистит" все нелоченные ячейки на листе 1. Точнее введет двойные кавычки.
К сообщению приложен файл: MM_SCH-R-.xls (100.0 Kb)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Вторник, 23.07.2013, 23:07
 
Ответить
Сообщение[vba]
Код
Sub reset()
Dim rCell As Range
      For Each rCell In Sheets(1).UsedRange
          If rCell.Locked = False Then
              rCell.Formula = ""
          End If
      Next
End Sub
[/vba]
"очистит" все нелоченные ячейки на листе 1. Точнее введет двойные кавычки.

Автор - SkyPro
Дата добавления - 23.07.2013 в 23:03
Aexbro Дата: Вторник, 23.07.2013, 23:21 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 4 ±
Замечаний: 0% ±

Excel 2007
SkyPro, Спасибо работает! Вопрос закрыт. Реально wow
 
Ответить
СообщениеSkyPro, Спасибо работает! Вопрос закрыт. Реально wow

Автор - Aexbro
Дата добавления - 23.07.2013 в 23:21
SkyPro Дата: Вторник, 23.07.2013, 23:50 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Уверен, что есть более быстрое решение, но я его не знаю smile


skypro1111@gmail.com
 
Ответить
СообщениеУверен, что есть более быстрое решение, но я его не знаю smile

Автор - SkyPro
Дата добавления - 23.07.2013 в 23:50
AndreTM Дата: Среда, 24.07.2013, 03:30 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Ну да,естественно - если отключить на время обработки пересчёты и вывод на экран - то скорость, естественно, возрастёт:
[vba]
Код
Sub reset()
Dim rCell As Range
'saveCalc = Application.Calculation
'Application.Calculation = xlManual
Application.DisplayStatusBar = False
Application.ScreenUpdating = False
     For Each rCell In Sheets(1).UsedRange
         If Not rCell.Locked Then
             rCell.Formula = ""
         End If
     Next
Application.DisplayStatusBar = True
Application.StatusBar = "Ready..."
Application.ScreenUpdating = True
'Application.Calculation = saveCalc
End Sub
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНу да,естественно - если отключить на время обработки пересчёты и вывод на экран - то скорость, естественно, возрастёт:
[vba]
Код
Sub reset()
Dim rCell As Range
'saveCalc = Application.Calculation
'Application.Calculation = xlManual
Application.DisplayStatusBar = False
Application.ScreenUpdating = False
     For Each rCell In Sheets(1).UsedRange
         If Not rCell.Locked Then
             rCell.Formula = ""
         End If
     Next
Application.DisplayStatusBar = True
Application.StatusBar = "Ready..."
Application.ScreenUpdating = True
'Application.Calculation = saveCalc
End Sub
[/vba]

Автор - AndreTM
Дата добавления - 24.07.2013 в 03:30
SkyPro Дата: Среда, 24.07.2013, 08:54 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Тяжелый день был вчера. Даже не подумал об этом smile
Спасибо, AndreTM.


skypro1111@gmail.com
 
Ответить
СообщениеТяжелый день был вчера. Даже не подумал об этом smile
Спасибо, AndreTM.

Автор - SkyPro
Дата добавления - 24.07.2013 в 08:54
Aexbro Дата: Среда, 24.07.2013, 10:48 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 4 ±
Замечаний: 0% ±

Excel 2007
AndreTM, А можно это алгоритм встроить в файл? как это сделать сам не знаю. спасибо
 
Ответить
СообщениеAndreTM, А можно это алгоритм встроить в файл? как это сделать сам не знаю. спасибо

Автор - Aexbro
Дата добавления - 24.07.2013 в 10:48
SkyPro Дата: Среда, 24.07.2013, 16:33 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Aexbro, [alt + F11] - Module1
вот там находится макрос.
Копируете с сайта и вставляете в модуль (предварительно удалив предыдущий макрос).
После этого правой клавишей на кнопке "ресет" и "назначить макрос".
Сохраняете книгу.


skypro1111@gmail.com
 
Ответить
СообщениеAexbro, [alt + F11] - Module1
вот там находится макрос.
Копируете с сайта и вставляете в модуль (предварительно удалив предыдущий макрос).
После этого правой клавишей на кнопке "ресет" и "назначить макрос".
Сохраняете книгу.

Автор - SkyPro
Дата добавления - 24.07.2013 в 16:33
AndreTM Дата: Четверг, 25.07.2013, 00:14 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
После этого правой клавишей на кнопке "ресет" и "назначить макрос". Сохраняете книгу.
Не обязательно smile
Поскольку имя процедуры то же самое - то достаточно (после замены кода) в редакторе VBA вызвать Debug-Compile VBAProject


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
После этого правой клавишей на кнопке "ресет" и "назначить макрос". Сохраняете книгу.
Не обязательно smile
Поскольку имя процедуры то же самое - то достаточно (после замены кода) в редакторе VBA вызвать Debug-Compile VBAProject

Автор - AndreTM
Дата добавления - 25.07.2013 в 00:14
Матрёна Дата: Четверг, 25.07.2013, 07:31 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

Вариант:[vba]
Код
Sub makros()
Cells.Select
If Selection.Locked = False Then
     Selection.Locked = ""
End If
End Sub
[/vba]
 
Ответить
СообщениеВариант:[vba]
Код
Sub makros()
Cells.Select
If Selection.Locked = False Then
     Selection.Locked = ""
End If
End Sub
[/vba]

Автор - Матрёна
Дата добавления - 25.07.2013 в 07:31
AndreTM Дата: Четверг, 25.07.2013, 09:52 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Матрёна, да, так получается ещё быстрее.
Только не надо забывать снимать выделение:
[vba]
Код
Set c = ActiveCell
' делаем тра-та-та  
c.Select
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение Матрёна, да, так получается ещё быстрее.
Только не надо забывать снимать выделение:
[vba]
Код
Set c = ActiveCell
' делаем тра-та-та  
c.Select
[/vba]

Автор - AndreTM
Дата добавления - 25.07.2013 в 09:52
SkyPro Дата: Четверг, 25.07.2013, 10:12 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Вариант:
[vba]
Код
Sub makros()
Cells.Select
If Selection.Locked = False Then
Selection.Locked = ""
End If
End Sub
[/vba]

Тогда уж лучше так:
[vba]
Код
Sub makros()
   Cells.Select
   If Selection.Locked = False Then
      Selection.Locked = ""
   End If
MsgBox "Урааа!!! Мы выделили все ячейки на листе, так как на нем есть залоченые ячейки!"
   End Sub
[/vba]


skypro1111@gmail.com
 
Ответить
Сообщение
Вариант:
[vba]
Код
Sub makros()
Cells.Select
If Selection.Locked = False Then
Selection.Locked = ""
End If
End Sub
[/vba]

Тогда уж лучше так:
[vba]
Код
Sub makros()
   Cells.Select
   If Selection.Locked = False Then
      Selection.Locked = ""
   End If
MsgBox "Урааа!!! Мы выделили все ячейки на листе, так как на нем есть залоченые ячейки!"
   End Sub
[/vba]

Автор - SkyPro
Дата добавления - 25.07.2013 в 10:12
Матрёна Дата: Четверг, 25.07.2013, 10:52 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

Только не надо забывать снимать выделение:

AndreTM!
А чем может "грозить" юзеру безграмотность моего макроса?
Я полагаю, только дополнительным "топом" мышой. tongue

Тогда уж лучше так: MsgBox "Урааа!!!"

Ну, тогда уж лучше так: MsgBox "Эх! Выпить бы нам с Людоедочкой из дикого племени "Ням-Ням"!!!"
 
Ответить
Сообщение
Только не надо забывать снимать выделение:

AndreTM!
А чем может "грозить" юзеру безграмотность моего макроса?
Я полагаю, только дополнительным "топом" мышой. tongue

Тогда уж лучше так: MsgBox "Урааа!!!"

Ну, тогда уж лучше так: MsgBox "Эх! Выпить бы нам с Людоедочкой из дикого племени "Ням-Ням"!!!"

Автор - Матрёна
Дата добавления - 25.07.2013 в 10:52
SkyPro Дата: Четверг, 25.07.2013, 13:17 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[offtop]
smile


skypro1111@gmail.com
 
Ответить
Сообщение[offtop]
smile

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

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