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

Вход

Регистрация

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

 

= Мир MS Excel/Range (c 2-мя переменными) - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Range (c 2-мя переменными) (Макросы/Sub)
Range (c 2-мя переменными)
Aleksej Дата: Четверг, 31.03.2016, 08:13 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем доброго времени суток! :)

Появился вопрос, по синтаксису объекта Range.

Имеется
i - переменная, находим номер последней строки

Задаем диапазон ячеек:
[vba]
Код
Worksheets(1).Range("A1:D" & i).font.size=12
[/vba]
так все работает без проблем.

Вопрос: Как написать, если неизвестен номер первой и второй строки? :'(
[vba]
Код
Worksheets(1).Range(A & i : D & i+5).font.size=12
[/vba]
такой вариант естественно не работает
 
Ответить
СообщениеВсем доброго времени суток! :)

Появился вопрос, по синтаксису объекта Range.

Имеется
i - переменная, находим номер последней строки

Задаем диапазон ячеек:
[vba]
Код
Worksheets(1).Range("A1:D" & i).font.size=12
[/vba]
так все работает без проблем.

Вопрос: Как написать, если неизвестен номер первой и второй строки? :'(
[vba]
Код
Worksheets(1).Range(A & i : D & i+5).font.size=12
[/vba]
такой вариант естественно не работает

Автор - Aleksej
Дата добавления - 31.03.2016 в 08:13
al-Ex Дата: Четверг, 31.03.2016, 08:31 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 149
Репутация: 55 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Worksheets(1).Range("A" & i & ": D" & i + 5).Font.Size = 16
' или так
Worksheets(1).Range(Cells(1, i), Cells(4, i + 5)).Font.Size = 8
[/vba]


Сообщение отредактировал al-Ex - Четверг, 31.03.2016, 08:34
 
Ответить
Сообщение[vba]
Код
Worksheets(1).Range("A" & i & ": D" & i + 5).Font.Size = 16
' или так
Worksheets(1).Range(Cells(1, i), Cells(4, i + 5)).Font.Size = 8
[/vba]

Автор - al-Ex
Дата добавления - 31.03.2016 в 08:31
Aleksej Дата: Четверг, 31.03.2016, 08:33 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 58
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
al-Ex, Спасибо! :)
 
Ответить
Сообщениеal-Ex, Спасибо! :)

Автор - Aleksej
Дата добавления - 31.03.2016 в 08:33
_Boroda_ Дата: Четверг, 31.03.2016, 09:10 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9381
Репутация: 3951 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще варианты
[vba]
Код
Worksheets(1).Range("A" & i).Resize(5, 4).Font.Size = 12
Worksheets(1).Cells(i, 1).Resize(5, 4).Font.Size = 12
[/vba]
Resize(n,m)
n - насколько вниз, включая ячейку Cells(1, i)
m - насколько вправо, включая ячейку Cells(1, i)
Если нужно влево, то сначала Offset (смещение), потом Resize

Добавлено.
Действительно, и я тоже в Келлсе порядок перепутал. Исправил.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Четверг, 31.03.2016, 09:49
 
Ответить
СообщениеЕще варианты
[vba]
Код
Worksheets(1).Range("A" & i).Resize(5, 4).Font.Size = 12
Worksheets(1).Cells(i, 1).Resize(5, 4).Font.Size = 12
[/vba]
Resize(n,m)
n - насколько вниз, включая ячейку Cells(1, i)
m - насколько вправо, включая ячейку Cells(1, i)
Если нужно влево, то сначала Offset (смещение), потом Resize

Добавлено.
Действительно, и я тоже в Келлсе порядок перепутал. Исправил.

Автор - _Boroda_
Дата добавления - 31.03.2016 в 09:10
Wasilich Дата: Четверг, 31.03.2016, 09:24 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 878
Репутация: 222 ±
Замечаний: 0% ±

2003
Worksheets(1).Range(Cells(1, i), Cells(4, i + 5)).Font.Size = 8
Правильно так
[vba]
Код
Worksheets(1).Range(Cells(i, 1), Cells(i + 5, 4)).Font.Size = 8
[/vba]Cells(строка, столбец)
 
Ответить
Сообщение
Worksheets(1).Range(Cells(1, i), Cells(4, i + 5)).Font.Size = 8
Правильно так
[vba]
Код
Worksheets(1).Range(Cells(i, 1), Cells(i + 5, 4)).Font.Size = 8
[/vba]Cells(строка, столбец)

Автор - Wasilich
Дата добавления - 31.03.2016 в 09:24
al-Ex Дата: Четверг, 31.03.2016, 10:10 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 149
Репутация: 55 ±
Замечаний: 0% ±

Excel 2010
Cells(строка, столбец)
А! Ну да, накосячил )). Спасиб, Василич.
 
Ответить
Сообщение
Cells(строка, столбец)
А! Ну да, накосячил )). Спасиб, Василич.

Автор - al-Ex
Дата добавления - 31.03.2016 в 10:10
RAN Дата: Четверг, 31.03.2016, 19:39 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
Правильно так

[vba]
Код
Worksheets(1).Range(Worksheets(1).Cells(i, 1), Worksheets(1).Cells(i + 5, 4)).Font.Size = 8
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Правильно так

[vba]
Код
Worksheets(1).Range(Worksheets(1).Cells(i, 1), Worksheets(1).Cells(i + 5, 4)).Font.Size = 8
[/vba]

Автор - RAN
Дата добавления - 31.03.2016 в 19:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Range (c 2-мя переменными) (Макросы/Sub)
Страница 1 из 11
Поиск:

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