Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подстановка адреса листа и ячеек, записанных на другом листе - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подстановка адреса листа и ячеек, записанных на другом листе
mrsalikov Дата: Четверг, 03.10.2019, 23:13 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Имеется некая таблица, в которой 2 крайние колонки имеют адрес листа и ячеек, в которых хранятся необходимые данные для дальнейшей обработки. Данные ячеек колонок считываю через x = Range(''), обозначив x как string. Однако при попытке подставить значение x в Sheets('').Select выпадает ошибка "Subscript out of range". Как правильно записать адрес листа и диапазона ячеек? Гугл с яндексом по традиции ответ не особо выдали.
К сообщению приложен файл: 2304306.xlsm (16.0 Kb)
 
Ответить
СообщениеЗдравствуйте! Имеется некая таблица, в которой 2 крайние колонки имеют адрес листа и ячеек, в которых хранятся необходимые данные для дальнейшей обработки. Данные ячеек колонок считываю через x = Range(''), обозначив x как string. Однако при попытке подставить значение x в Sheets('').Select выпадает ошибка "Subscript out of range". Как правильно записать адрес листа и диапазона ячеек? Гугл с яндексом по традиции ответ не особо выдали.

Автор - mrsalikov
Дата добавления - 03.10.2019 в 23:13
dude Дата: Четверг, 03.10.2019, 23:49 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 193
Репутация: 28 ±
Замечаний: 0% ±

2016
это имели ввиду?
[vba]
Код
Sub vbv()
Dim s
Dim r As Range
Set r = Sheets(Range("a2").Value).Range(Range("b2").Value)
For Each s In r
i = i + 1
Cells(2, 2 + i) = s.Value
Next
End Sub
[/vba]
восклицательный знак убрать
 
Ответить
Сообщениеэто имели ввиду?
[vba]
Код
Sub vbv()
Dim s
Dim r As Range
Set r = Sheets(Range("a2").Value).Range(Range("b2").Value)
For Each s In r
i = i + 1
Cells(2, 2 + i) = s.Value
Next
End Sub
[/vba]
восклицательный знак убрать

Автор - dude
Дата добавления - 03.10.2019 в 23:49
mrsalikov Дата: Пятница, 04.10.2019, 07:09 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
это имели ввиду?


Уже интереснее, спасибо
UPD. Хотя если массив на других листах будет произвольного размера, как в таком случае скопировать его более правильно? Просто данный макрос копирует массив полностью в строку.


Сообщение отредактировал mrsalikov - Пятница, 04.10.2019, 07:15
 
Ответить
Сообщение
это имели ввиду?


Уже интереснее, спасибо
UPD. Хотя если массив на других листах будет произвольного размера, как в таком случае скопировать его более правильно? Просто данный макрос копирует массив полностью в строку.

Автор - mrsalikov
Дата добавления - 04.10.2019 в 07:09
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!