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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2012, 23:53   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно просто на каждое изменение на листе протягивать формулу заново - диапазон небольшой.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.02.2012, 23:54   #12
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

измените в коде строку
Код:
If [m3:m100].FormulaLocal <> "=СУММ(B3-J3-K3-L3-H3-I3-F3+G3-E3+C3-D3)" Then [m3:m100].FormulaLocal = "=СУММ(B3-J3-K3-L3-H3-I3-F3+G3-E3+C3-D3)"
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 15.02.2012 в 23:56.
VictorM вне форума Ответить с цитированием
Старый 16.02.2012, 00:25   #13
S_Brodsky
Пользователь
 
Аватар для S_Brodsky
 
Регистрация: 15.02.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
измените в коде строку
Код:
If [m3:m100].FormulaLocal <> "=СУММ(B3-J3-K3-L3-H3-I3-F3+G3-E3+C3-D3)" Then [m3:m100].FormulaLocal = "=СУММ(B3-J3-K3-L3-H3-I3-F3+G3-E3+C3-D3)"
выдаёт ошибку. Формула в каждой следующеё ячейке меняется на 1, т.е. для ячейки М4 будет =СУММ(B4-J4-K4-L4-H4-I4-F4+G4-E4+C4-D4), а для M100 будет =СУММ(B100-J100-K100-L100-H100-I100-F100+G100-E100+C100-D100)
S_Brodsky вне форума Ответить с цитированием
Старый 16.02.2012, 00:28   #14
S_Brodsky
Пользователь
 
Аватар для S_Brodsky
 
Регистрация: 15.02.2012
Сообщений: 14
По умолчанию

может быть есть ещё способ как установить запрет на изменение данных в определённых ячейках с формулами, при этом чтобы оставить в рабочем состоянии группировку? Помогите если есть возможность. Пример прикрепил.
пример отчёта.zip

Последний раз редактировалось S_Brodsky; 16.02.2012 в 00:46.
S_Brodsky вне форума Ответить с цитированием
Старый 16.02.2012, 00:54   #15
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
выдаёт ошибку.
Отнюдь, это не ошибка, а правильная работа Excel.
Если же Вам нужно, чтобы во всех ячейка диапазона [m3:m100] была формула =СУММ(B3-J3-K3-L3-H3-I3-F3+G3-E3+C3-D3)
что, кстати, небыло очевидным в Вашем вопросе, замените относительные ссылки на абсолютные, т.е. вида $B$3.
Только непонятно зачем это...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 16.02.2012, 01:19   #16
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Сообщение от S_Brodsky Посмотреть сообщение
может быть есть ещё способ как установить запрет на изменение данных в определённых ячейках с формулами, при этом чтобы оставить в рабочем состоянии группировку? Помогите если есть возможность. Пример прикрепил.
Вложение 47550
Где-то так:
Код:
Private Sub Группировать_Click()
Лист3.Select

    Const MyPassword = "paskal"
    With ActiveSheet
        .EnableOutlining = True
        .Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    End With
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 16.02.2012, 01:45   #17
S_Brodsky
Пользователь
 
Аватар для S_Brodsky
 
Регистрация: 15.02.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Где-то так:
Код:
Private Sub Группировать_Click()
Лист3.Select

    Const MyPassword = "paskal"
    With ActiveSheet
        .EnableOutlining = True
        .Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    End With
End Sub
А где то это где? Сорри, но я реально не понял. Всё вставил но как бы без изменений всё осталось. Может чтото поменять надо? Если не сложно вставьте в пример который я прикорепил выше. Заранее спасибо
S_Brodsky вне форума Ответить с цитированием
Старый 16.02.2012, 02:22   #18
S_Brodsky
Пользователь
 
Аватар для S_Brodsky
 
Регистрация: 15.02.2012
Сообщений: 14
По умолчанию

Всё, разобрался. Вот код
Код:
Private Sub Workbook_Open()
    Dim wsSh As Object
    For Each wsSh In Me.Sheets
        Protect_and_Structure wsSh
    Next wsSh
End Sub
Sub Protect_and_Structure(wsSh As Object)
    wsSh.Unprotect
    wsSh.EnableOutlining = True
    wsSh.Protect Contents:=True, Scenarios:=True, UserinterfaceOnly:=True
End Sub
Данный код вставляется в модуль ЭтаКнига.
S_Brodsky вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как свой IP поменять или скрыть myshonok Свободное общение 8 11.12.2009 21:54
Можно ли добавить ентер в Label? Или запретить копировать текст из memo? TwiX Общие вопросы Delphi 5 07.08.2009 14:00
Защиты системных файлов от изменения или замены Roman®© Операционные системы общие вопросы 2 24.07.2009 13:19
Запретить изменения Книги после истечения месячного срока komar73 Microsoft Office Excel 0 31.03.2009 11:01
nLite - программа для перекомпановки, расширения или изменения дистрибутива ОС Alar Windows 4 24.10.2008 12:31