powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно задать значение ячейки типа " =Лист1!F91 "?
8 сообщений из 8, страница 1 из 1
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242612
Michael5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть мне нужно программно задать значению ячейки ссылку на другую ячейку (на другом листе).

Пытаюсь сделать таким образом:

'Text = "='" + Sheets(i).Name + "'!R[" + Str(finded) + "]C"
Text = "=" + Sheets(i).Name + "!R[" + Str(finded) + "]C"
Sheets("Предложение").Cells(Start + i, 6).Select
ActiveCell.FormulaR1C1 = Text

(закомментированная строка - это имя листа в кавычках, почему-то ссылки то с кавычками, то без них...)

На последней строке выдает ошибку. Подскажите пожалуйста, в чем ошибка? Как сделать правильно?
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242657
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чему равно значение Text ?
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242719
Michael5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значение Text равно "='Лист1'!R[91]C", или "=Лист1!R[91]C" (и так, и так пробовал).
В общем-то подразумевалось, что значение Text соответствует требуемому (тому, что должно появляться при выделении этой ячейки. Что и появляется, если задать ссылку вручную: нажал "равно", указал какую-нибудь ячейку, нажал "энтер"....)
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242811
Замени Str(finded) на

Код: plaintext
CStr(finded)
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242856
Michael5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, работать начало! :)

Но началась путаница:

Text = "='" + Sheets(i).Name + "'!R[" + CStr(finded) + "]C"
Sheets("Предложение").Cells(Start + i, 6).Select
ActiveCell.FormulaR1C1 = Text

При отладке на последней строке он показывает текст "=Лист1!R[91]C", а вставленным оказывается "=Лист1!R[99]C"!
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242886
Michael5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фишку понял: он прибавляет номер строки ячейки, в которую вставляется ссылка, к номеру ячейки, на которую эта ссылка делается :)

А вот зачем он это делает, не понятно...
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242958
Это связано со стилем ссылок.

Замени стиль ссылок на R1C1 (Параметры -> Общие)
...
Рейтинг: 0 / 0
Как программно задать значение ячейки типа " =Лист1!F91 "?
    #33242981
Michael5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, так работает, спасибо большое за помощь!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно задать значение ячейки типа " =Лист1!F91 "?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]