Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 23
1

Запись диапазона ячеек

16.03.2016, 16:34. Показов 1767. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте!

На одном из этапов выполнения макроса мне нужно создать именованный диапазон, рекодер выдал такой код:
Visual Basic
1
2
ActiveWorkbook.Names.add Name:="договор№1", RefersToR1C1:= _
 "=Лист5!R26C7:R28C7"
Дело в том, что диапазон и лист задаются через переменные в цикле, запись типа
Visual Basic
1
2
ActiveWorkbook.Names.add Name:="a", RefersToR1C1:= _
        mysht.Range(Cells(lCol, 1), Cells(lCol, lRow))
Не работает, каким образом можно переписать правильно

"=Лист5!R26C7:R28C7" , если надо задействовать переменные ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2016, 16:34
Ответы с готовыми решениями:

Выборка строки из диапазона ячеек и запись в textBox
Есть код, как исправить его так, чтобы не было выхода за границу? В текстбокс нужно ввести строку...

Сумма диапазона ячеек в столбце и запись итога в последнюю свободную строку
Здравствуйте, скажите как посчитать сумму в столбце (Лист 3, столбец F), если в нем уже есть...

Заполнение диапазона ячеек
Еще вопрос. Запросите у пользователя диапазон ячеек и заполните его случайными символами....

Выделение диапазона ячеек
Добрый вечер. Возникла проблема. Есть таблица необходимо выделить и скопировать два диапазона...

4
3917 / 2315 / 784
Регистрация: 02.11.2012
Сообщений: 6,158
16.03.2016, 17:24 2
Visual Basic
1
2
ActiveWorkbook.Names.add Name:="a", RefersToR1C1:= _
        mysht.Range(mysht.Cells(lCol, 1), mysht.Cells(lCol, lRow))
0
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 23
16.03.2016, 17:53  [ТС] 3
Спасибо. А возможно как то имя диапазона тоже программно задать? Вся эта конструкция с диапазоном у меня в цикле находится.

Visual Basic
1
 a = mysht.Cells(k, 1).Value
.....
Visual Basic
1
2
ActiveWorkbook.Names.add Name:=a, RefersToR1C1:= _
mysht.Range(mysht.Cells(1, lCol), mysht.Cells(lRow, lCol))
Так выдаёт ошибку 1004.
0
3917 / 2315 / 784
Регистрация: 02.11.2012
Сообщений: 6,158
16.03.2016, 18:14 4
файл покажите. переменная а объявлена как string?

Добавлено через 6 минут
при отладке кода в переменной а окна локалс что показывает? в ячейке Cells(k, 1) текст случаем не с пробелом?

Добавлено через 5 минут
А теперь о том, каким может быть имя ячейки.

Первым символом имени должны быть буква, знак подчеркивания (_) или вот такой слеш — . Остальные символы имени могут быть буквами, цифрами, точками и знаками подчеркивания. И учтите: в качестве имени нельзя использовать буквы C, c, R и r.
Запрещено использовать:
имена, которые выглядят так же, как ссылка на ячейки: А1:В2 или F$5$;
пробелы. Применяйте при необходимости разделить слова символ подчеркивания (_) или точку (.), как я в имени Сумма_покупок;
имя длиннее 255 символов;
идентичные имена, написанные прописными и строчными буквами. Имена «НАЛОГ» и «налог» Excel считает одинаковыми.
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
16.03.2016, 19:26 5
empty28, Aльтернативный вариант

Visual Basic
1
mySh.Cells(1, lCol).Resize(lRow).Name = "A"
0
16.03.2016, 19:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2016, 19:26
Помогаю со студенческими работами здесь

Выбор диапазона ячеек
Что-то совсем все подзабыл... в общем есть отчет для подсчета стажа сотрудников, который в свою...

Выделение диапазона ячеек
Всем доброго дня. Имеется кодintersect(activesheet.usedrange,range("A:D")).Select который...

Заполнение диапазона ячеек
Запросите у пользователя диапазон ячеек и заполните его случайными цифрами от 0 до 50. Программа...

Копирование диапазона ячеек
Уважаемые форумчане, подскажите, пожалуйста. Хочу скопировать диапазон ячеек с одного листа на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru