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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.09.2007, 13:21   #11
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Дорогой pashulka!
Выяснилось еще одно обстоятельство.
Мне надо переносить данные в соответствующие ячейки текущей книги из всех незащищенных ячеек рабочей книги.
help..........................
Роня вне форума
Старый 12.09.2007, 14:22   #12
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Есть только одна функция рабочего листа, которая позволяет определить защищена/заблокирована или нет нужная ячейка и это =ЯЧЕЙКА("Protect";A1)
Но ... эта функция требует ссылку, а стало быть рабочая книга - источник обязательно должна быть открыта, т.е. мы опять возвращаемся ко второму варианту, где после открытия книги Вы можете : либо перебрать в цикле ячейки нужного диапазона (см. ниже), либо воспользоваться вышеупомянутой функцией.
Код:
Dim iCell As Range
For Each iCell In Workbooks("Открытая_книга.xls").Worksheets(1).Range("A1:A10")
    If Not iCell.Locked Then ... 'Ваши действия
    'Обратите внимание на то, что реально защита ячейки действует
    'только при условии, что рабочий лист, которому принадлежит
    'эта ячейка, также защищён, т.е. значение свойства ProtectContents = True
Next
pashulka вне форума
Старый 12.09.2007, 16:10   #13
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Дорогой Pashulka!
Безмерно благодарна Вам за оказанную помощь. Программа готова!
Роня вне форума
Старый 12.09.2007, 18:15   #14
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Почти что готова...;-)
Паша, подскажите, пожалуйста, как использовать абсолютный адрес ячейки iCell.Address
а то он мне вставляет в таком виде: $A$1
я нашла описание функции Address, но что-то здесь не сходится
Цитата:
АДРЕС
Синтаксис:
АДРЕС(номер_строки,номер_столбца,ти п_ссылки,a1,имя_листа)
Результат:
Адрес ячейки (в текстовом виде), формируемый на основе номеров строки и столбца.
Аргументы:
номер_строки- номер строки;
номер_столбца- номер столбца;
тип_ссылки- задание типа возвращаемой ссылки; может принимать следующие значения:

Значение аргументаТип возвращаемой ссылки1 или опущенАбсолютный2Абсолютная строка; относительный столбец3Относительная строка; абсолютный столбец4Относительный

a1- логическое значение, которое определяет стиль ссылок: А1 или R1C1; если аргумент al имеет значение ИСТИНА или опущен, то функция АДРЕС возвращает ссылку в стиле А1; если этот аргумент имеет значение ЛОЖЬ, то функция АДРЕС возвращает ссылку в стиле R1C1;
имя_листа- текст, определяющий имя рабочего листа или листа макросов, который используется для формирования внешней ссылки; если аргумент имя_листа опущен, то внешние листы не используются.
Роня вне форума
Старый 12.09.2007, 20:48   #15
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Роня, Вообще-то $A$1 это и есть абсолютный адрес, да и синтаксис стандартной функции рабочего листа =АДРЕС() и свойства Address -- различен, поэтому, если Вы хотите получить информацию касательно последнего, то в редакторе VBA выделите нужное слово (в данном случае Address) и нажмите клавишу F1

Однако, если мои предположения верны и Вам нужен адрес ячейки в виде '[ФФФ.xls]Продажи 2007'!$A$1 (внешняя ссылка), то Вам достаточно всего лишь использовать необязательный именованный аргумент External :

Код:
MsgBox iCell.Address(External:=True) 'Or
MsgBox iCell.Address(, , , True)
pashulka вне форума
Старый 13.09.2007, 09:16   #16
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Извините, пожалуйста, я имела в виду, как использовать относительный адрес ячейки...
Дело в том, что хелп у меня не установлен.
Вот так вот все запущено...
Роня вне форума
Старый 13.09.2007, 09:34   #17
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Нашла!!!
iCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
В общем, можно сказать, произведение моей незрелой программистской мысли готово!
Только благодаря Вам, Pashulka!
Роня вне форума
Старый 13.09.2007, 12:06   #18
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Больше мне не к кому обратиться.

Что я делаю не так?

Private Sub CommandButton2_Click()
ThisWorkbook.UpdateLinks
End Sub

Пишет, что Invalid use of property
Роня вне форума
Старый 13.09.2007, 12:57   #19
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Есть предложение, а не воспользоваться ли :

Код:
ThisWorkbook.UpdateLink Name:=ThisWorkbook.LinkSources
pashulka вне форума
Старый 13.09.2007, 15:47   #20
Роня
Пользователь
 
Регистрация: 07.09.2007
Сообщений: 17
По умолчанию

Милый Pashulka,
в общем, разобралась.
СПАСИБО!!!!!!!!!!!!!!!!!!!!
Роня вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
использование компонента TreeWiev другой формы White Общие вопросы Delphi 2 29.08.2008 10:25
Использование компонентов в другой форме White БД в Delphi 3 27.08.2008 13:32
Импорт данных из другой книги AntonFox Microsoft Office Excel 8 18.08.2008 17:17
Как запустить макрос при изменении другой книги Excel? Град Microsoft Office Excel 12 10.06.2008 10:01