Страницы: 1
RSS
VBA Отличия операторов Activecell(), Selection, Rang(), трудность перевода осложняет понимание
 
Добрый день

Код
ActivCell ()
Selection
Rang()


1.Поясните чем отличаются между собой и как переходить с одного на другое?
2.От чего зависит необходимость "()":
Изменено: Александр Сергеевич - 15.12.2015 18:44:45
не нужно оскорблять.
 
Активная ячейка.
Выделенный диапазон ячеек. (может быть и текущей ячейкой, обратное - нет)
Диапазон ячеек - какой зададите.
---
Для тестирования используйте, допустим следующее:
Код
sub test
debug.print activecell.address, selection.address, range("a1:b" & rows.count).address
end sub
Изменено: JayBhagavan - 15.12.2015 18:17:16

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Александр Сергеевич, я просил Вас заменить код в своем сообщении...
 
Исправил
Код
Debug.Print Range().Address = Selection.Address
Ругается на Range

как правильно переход написать?, или он нафиг ненужен и можно с selection работать как и с Range?
Изменено: Александр Сергеевич - 15.12.2015 18:31:34
не нужно оскорблять.
 
Цитата
Александр Сергеевич написал: как правильно переход написать?
Не понял.
address с двумя дэ.
Тема превращается в свалку вопросов. Что скажут модераторы?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Александр Сергеевич написал: трудность перевода осложняет понимание
Вы задаете вопросы по основам языка. Неужели в сети мало информации? мало справочников?
Да, форум для того, чтобы помочь. Но не справка же здесь! На форум - после упорных поисков, которые попутно обеспечат Вас нужной в будущем информацией.
Ну, не разжевывать же Вам правильное написание! Например: ActivCell, Rang
 
Цитата
vikttur написал: Неужели в сети мало информации? мало справочников?
Как правило там общая информация, и не конкретизирует некоторые моменты

Цитата
JayBhagavan написал: Тема превращается в свалку вопросов. Что скажут модераторы?
Вопросы все те же в первом посте, вопросы на минуту создавать 10 тем абсурдно, если это критично тогда тему топку.
не нужно оскорблять.
 
Александр Сергеевич, под задачу и создавайте тему (как обычно, что есть, что надо и что не получается или непонятно). Что значит "там общая информация" не понятно. Например?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,

'Из Range в Selection
Код
Range("A:b").Select
Debug.Print Selection.Address

'Из Selection в Range
Код
Debug.Print Range(selection.Address).Address
Изменено: Александр Сергеевич - 15.12.2015 19:27:07
не нужно оскорблять.
 
Цитата
Вопросы все те же в первом посте, вопросы на минуту создавать 10 тем абсурдно
Абсурдно, не спорю. Десятки тем о Cells, Range, а позже Column, Rows,  With...
Вместо того, чтобы самостоятельно ознакомиться с основами языка, держать постоянно открытым онлайн-переводчик, пользоваться поиском, просматривать тематические форумы...
Поймите: форум - не справочная служба, не автоответчик.
 
Во когда первая буковка в selectin сама станет заглавной, тогда заработает.
Изменено: RAN - 15.12.2015 19:15:19
 
Не selectin, а selection

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
всем спасибо за внимания, внес исправления, тему в топку.
Изменено: Александр Сергеевич - 15.12.2015 19:28:11
не нужно оскорблять.
 
vikttur, по поводу ваших постов о правилах, мне уже люди на Вас жалуются, правда не пойму почему именно мне жалуются....

Прошу прощения, отвечая, случйно изменил сообщение автора. Возможно, не дословно восстановил [vikttur]
не нужно оскорблять.
 
Внесу свои 5 копеек(для будущих поколений :)):
Есть глобальный объект Range
Selection, ActiveCell - просто его наследники, которым назначен диапазон. Для Selection - все выделенные в данный момент ячейки на активном листе. Для ActiveCell - всегда только одна активная ячейка, которая при этом может быть частью Selection, т.к. Selection не может быть без ActiveCell.

А вот вопрос
Цитата
Александр Сергеевич написал: как переходить с одного на другое?
попахивает бредом. Зачем переходить с Selectioin на Range и наоборот? Selection и так Range, поэтому достаточно назначить его переменной.
Обратная операция осуществляется путем вызова метода Select объекта Range.

И уж соглашусь: это вопросы не для форума. Вы хотите, чтобы Вас здесь азам учили. Вы не просите конкретики, т.к. даже общей части не знаете, которая есть в справке и которую можно почерпнуть из источников MSDN в полном объеме.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Александр Сергеевич написал: мне уже люди на Вас жалуются
Видимо, потому что сами даете мощный повод. Например, как и все, кто обращается - игнорируете правила из раза в раз, несмотря на кол-во сообщений. В Вас, видимо, видят предводителя движения "Антиправила"  :D
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
по поводу ваших постов о правилах, мне уже люди на Вас жалуются, правда не пойму почему именно мне жалуются....
Пускай мне жалуются
 
Цитата
The_Prist написал: В Вас, видимо, видят предводителя движения "Антиправила"  
Щас позову других котов - быстро разгоним такое движение!
There is no knowledge that is not power
 
Так там предводитель всем предводителям предводитель - то ли Гендальф, то ли Индиана Джонс, то ли Пушкин... :)
Страницы: 1
Читают тему
Наверх