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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2012, 15:51   #11
kartol
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 34
По умолчанию

SAS888 подскажите ещё немного
Вложения
Тип файла: rar qq.rar (51.8 Кб, 10 просмотров)
kartol вне форума Ответить с цитированием
Старый 16.06.2012, 17:05   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Т.к. файл сохраняется по указанному Вами пути, поэтому я не могу прикрепить исправленный файл к сообщению. Будет не то.
Сделаем так:
В программном модуле замените весь код на следующий:
Код:
Public x As Range

Sub qq()
    Set x = Intersect([F:H], [A:A].SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow)
    x.Select
End Sub

Sub ww()
    If x Is Nothing Then Exit Sub Else If x.Address <> Selection.Address Then Exit Sub
    x.ClearContents
End Sub
Кнопке "ОЧИСТИТЬ" назначьте макрос "ww". Т. к. при защищенном листе оба макроса работают с областью незащищенных ячеек, то снимать и устанавливать защиту не требуется. Будьте внимательны при добавлении последующих таблиц на лист: в свойствах рабочего диапазона ячеек снимайте флажок "защищаемая ячейка" (как у Вас сделано в существующей таблице).
А в модуль "Эта книга" поместите такой код:
Код:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.EnableEvents = False: Application.DisplayAlerts = False
    ThisWorkbook.SaveAs Filename:="c:\Users\Анатолий\Pictures\qq.xls"
    Application.EnableEvents = True: Application.DisplayAlerts = True
    Cancel = True
End Sub
Небольшое замечание: Опция UserInterfaceOnly, которой Вы, по-видимому, пытались воспользоваться, позволяет выполнять макросам код не снимая защиты. Но эта опция НЕ СОХРАНЯЕТСЯ вместе с файлом при сохранении. Поэтому, каждый раз, при открытии файла, по событию Workbook_Open, нужно снимать защиту листа и вновь устанавливать ее с опцией UserInterfaceOnly:=True.

Для того, чтобы при изменении даты в компьютере она изменилась в ячейке с формулой, нужно, чтобы пересчитался рабочий лист. Т. е. либо нужно изменить значение одной из ячеек, влияющих на расчет в другой ячейке, либо просто нажать F9.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 17.06.2012 в 11:58. Причина: Добавлено
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять столбцы в массиве? Оо Лесная Эльфийка Помощь студентам 5 14.06.2011 22:41
КАК ЗАПОЛНИТЬ СТОЛБЦЫ(A,B,C,D и т.д) ALIKOS Microsoft Office Excel 3 23.02.2010 01:15
Как экспортировать нужные столбцы lucky_09 Microsoft Office Excel 4 16.06.2009 17:49
как копировать столбцы BEKO83 Помощь студентам 1 09.02.2009 20:17
Как у Грида переименовать столбцы? Detka Помощь студентам 2 07.02.2009 22:28