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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2011, 21:44   #11
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Я доработал свой код, воспользовавшись Вашим,получилось так:

'

'
Range("B2").Select
ActiveSheet.Unprotect
[b2:i2].Copy
Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
[b2,f2,i2].ClearContents
Range("B2").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("F2").Select
Selection.ClearContents
Range("I2").Select
Selection.ClearContents
Range("B2").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

вроде работает, на том огромное спасибо!
Почему этот гребаный макрос защищает ячейки разрешая их выделять? Мне надо, чтобы курсор мог находится только в трех упомянутых ячейках, а не скакать по всему листу?
Не эти параметры отвечают за такую защиту? DrawingObjects:=True, Contents:=True, Scenarios:=True
vostok вне форума Ответить с цитированием
Старый 26.02.2011, 21:57   #12
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Я доработал свой код, воспользовавшись Вашим,получилось так
не буду описывать всей Вашей "доработки", только замечу, что вот это
Range("B2").Select
Selection.ClearContents
Range("F2").Select
Selection.ClearContents
Range("I2").Select
Selection.ClearContents

полностью заменяется строкой
[b2,f2,i2].ClearContents
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 26.02.2011, 22:01   #13
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Я же не программист, как могли заметить, я пишу макрос последовательностью действий, такой код и получается. Вы мне ответьте по макросу, почему он так делает?
vostok вне форума Ответить с цитированием
Старый 26.02.2011, 22:07   #14
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

А что именно он делает не так?
Вот это ( на кнопку)
Код:
Sub Внести()
    ActiveSheet.Unprotect
    [b2:i2].Copy
    Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
    [b2,f2,i2].ClearContents
    ActiveSheet.Protect
    Application.CutCopyMode = False
End Sub
или это (на событие Change яч. I2)
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Unprotect
    If Target.Address = "$I$2" Then
        [b2:i2].Copy
        Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
        [b2,f2,i2].ClearContents
        Application.CutCopyMode = False
    End If
    ActiveSheet.Protect
End Sub
полностью выполняют поставленную Вами задачу.
до начала работы макроса доступны для редактирования только 3 указанные Вами ячейки
Или я чего-то недосмотрел?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

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

Посмотрите вот это и скажите - что не так.
Вложения
Тип файла: zip Video_2011-02-26_211933.zip (871.1 Кб, 2 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 26.02.2011, 22:37   #16
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

все правильно, доступны лишь 3 ячейки для редактирования, но другие не должны ВЫДЕЛЯТЬСЯ ВООБЩЕ! Т.е. после ввода в первую ячейку и нажатия "интер" должна выделится ячейка F, потом ячейка I,и опять переход в первую. Я когда вручную лист защищаю, то убираю птичку "выделять заблокированные ячейки". Все, курсор больше нигде не летает. Макрос же, когда защищает лист, упорно ставит эту птичку, даже такое наблюдаю: макрос отработал, все хорошо, выделяются только 3 ячейки. Сохраняю-закрываю-открываю - опять все ячейки выделяются, только вписывать в них не разрешается, то, что у Вас на видео.
vostok вне форума Ответить с цитированием
Старый 26.02.2011, 22:54   #17
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Ок, кажется понял ))
Смотрите файл
Вложения
Тип файла: zip вносить в список_защита.zip (13.6 Кб, 5 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 26.02.2011, 23:06   #18
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

то же самое, после ввода все путем, доступны лишь три ячейки, а после Сохраняю-закрываю-открываю опять ВСЕ ячейки выделяются. У вас как? Может, у меня ексель так глючит, не?
vostok вне форума Ответить с цитированием
Старый 26.02.2011, 23:36   #19
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

А вот теперь не знаю.
У меня все отлично работат хоть закрывай, хоть открывай.
Пробовал уже по всякому.
А вы в этом файле пробуете или в другом, рабочем?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 26.02.2011, 23:45   #20
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Рабочего еще нет, в разработке, но пробовал и свой, и который от Вас пришел - одинаково, 2003 ексель.
Может, отдельную кнопочку для начала работы поставить, которая бы правильно его защитила на рабочий день.
vostok вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Законно ли авто-заполнять сайты RIO Свободное общение 2 16.01.2011 21:14
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание Zigfried Помощь студентам 2 04.10.2010 20:29
связать список строк и список целых чисел lirikoff Помощь студентам 5 31.08.2010 13:23
С++ Создать класс содержащий 3х-мерный массив int'ов, заполнять с помощью генератора случайных чисел vipER Помощь студентам 1 22.09.2007 22:08
Как заполнять Форму ввода Excel-данными Michail_P Свободное общение 0 20.08.2007 06:29