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

Вход

Регистрация

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

 

= Мир MS Excel/Как определить имя/номер ячейки первого элемента массива? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как определить имя/номер ячейки первого элемента массива? (Макросы/Sub)
Как определить имя/номер ячейки первого элемента массива?
Юрий_Нд Дата: Среда, 10.10.2018, 10:03 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация: 19 ±
Замечаний: 0% ±

Excel 2013
Доброго дня всем.
Допустим мы "забили" двумерный массив элементами с помощью кода:
[vba]
Код
ar = Range("E10:G13")
[/vba]
Как определить имя/номер ячейки, где находится первый элемент массива (по горизонтали и вертикали) - ar(1,1)?
Спасибо ____________ Юрий.
 
Ответить
СообщениеДоброго дня всем.
Допустим мы "забили" двумерный массив элементами с помощью кода:
[vba]
Код
ar = Range("E10:G13")
[/vba]
Как определить имя/номер ячейки, где находится первый элемент массива (по горизонтали и вертикали) - ar(1,1)?
Спасибо ____________ Юрий.

Автор - Юрий_Нд
Дата добавления - 10.10.2018 в 10:03
Manyasha Дата: Среда, 10.10.2018, 10:10 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Юрий_Нд, здравствуйте. Это хотите?
[vba]
Код
Set ar = Range("E10:G13")
Debug.Print ar(1, 1).Address
Debug.Print ar(1, 1).Row, ar(1, 1).Column
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеЮрий_Нд, здравствуйте. Это хотите?
[vba]
Код
Set ar = Range("E10:G13")
Debug.Print ar(1, 1).Address
Debug.Print ar(1, 1).Row, ar(1, 1).Column
[/vba]

Автор - Manyasha
Дата добавления - 10.10.2018 в 10:10
Юрий_Нд Дата: Среда, 10.10.2018, 10:40 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация: 19 ±
Замечаний: 0% ±

Excel 2013
Manyasha, Спасибо за поддержку.
Простите как-то я недопонимаю Вашу подсказку.
Мне нужно следующее:
Допустим первый элемент массива ar(1, 1) находится в ячейке Cells(ns, nc).
Так мне нужно знать ns=..., nc=...?.
[vba]
Код
ns=ar(1, 1).Row
nc=ar(1, 1).Column
[/vba]
Я правильно понял?


Сообщение отредактировал Юрий_Нд - Среда, 10.10.2018, 10:45
 
Ответить
СообщениеManyasha, Спасибо за поддержку.
Простите как-то я недопонимаю Вашу подсказку.
Мне нужно следующее:
Допустим первый элемент массива ar(1, 1) находится в ячейке Cells(ns, nc).
Так мне нужно знать ns=..., nc=...?.
[vba]
Код
ns=ar(1, 1).Row
nc=ar(1, 1).Column
[/vba]
Я правильно понял?

Автор - Юрий_Нд
Дата добавления - 10.10.2018 в 10:40
Manyasha Дата: Среда, 10.10.2018, 12:51 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Юрий_Нд, да. Только непонятно, зачем это Вам? Чем ar(1, 1) не устраивает...


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеЮрий_Нд, да. Только непонятно, зачем это Вам? Чем ar(1, 1) не устраивает...

Автор - Manyasha
Дата добавления - 10.10.2018 в 12:51
RAN Дата: Среда, 10.10.2018, 13:02 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Да никак.
Массив представляет собой вполне самостоятельную единицу, и может быть сформирован как путем создания и заполнения данными с листа, так и путем создания и заполнения кодом.
Связь массива с диапазоном листа существует исключительно в момент его создания из диапазона листа.
Для обеспечения связи создавайте массив кодом, при этом добавляйте элементы массива, в которые кодом-же прописывайте адреса ячеек, из которых были взяты данные.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеДа никак.
Массив представляет собой вполне самостоятельную единицу, и может быть сформирован как путем создания и заполнения данными с листа, так и путем создания и заполнения кодом.
Связь массива с диапазоном листа существует исключительно в момент его создания из диапазона листа.
Для обеспечения связи создавайте массив кодом, при этом добавляйте элементы массива, в которые кодом-же прописывайте адреса ячеек, из которых были взяты данные.

Автор - RAN
Дата добавления - 10.10.2018 в 13:02
Юрий_Нд Дата: Среда, 10.10.2018, 13:09 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация: 19 ±
Замечаний: 0% ±

Excel 2013
Только непонятно, зачем это Вам? Чем ar(1, 1) не устраивает...

Делаю двойную интерполяцию.
Значение функции я считал (зеленое), теперь нужно считать ещё и аргументы. Они находятся сверху (розовое) и слева (синее) от значений функции.
В общем, файл я приложил, если сможете предложить мне что-то более рациональное чем считывать по ячейкам, буду очень благодарен.

п.с. Значение аргументов нужно считать в нулевую строчку и в нулевую колонку массива.
К сообщению приложен файл: 8888588.xlsm (19.8 Kb)


Сообщение отредактировал Юрий_Нд - Среда, 10.10.2018, 13:10
 
Ответить
Сообщение
Только непонятно, зачем это Вам? Чем ar(1, 1) не устраивает...

Делаю двойную интерполяцию.
Значение функции я считал (зеленое), теперь нужно считать ещё и аргументы. Они находятся сверху (розовое) и слева (синее) от значений функции.
В общем, файл я приложил, если сможете предложить мне что-то более рациональное чем считывать по ячейкам, буду очень благодарен.

п.с. Значение аргументов нужно считать в нулевую строчку и в нулевую колонку массива.

Автор - Юрий_Нд
Дата добавления - 10.10.2018 в 13:09
Юрий_Нд Дата: Среда, 10.10.2018, 13:13 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация: 19 ±
Замечаний: 0% ±

Excel 2013
Да никак.

Что, не сработает?
Цитата Юрий_Нд, 10.10.2018 в 10:40, в сообщении № 3 ()

ns=ar(1, 1).Row
nc=ar(1, 1).Column
 
Ответить
Сообщение
Да никак.

Что, не сработает?
Цитата Юрий_Нд, 10.10.2018 в 10:40, в сообщении № 3 ()

ns=ar(1, 1).Row
nc=ar(1, 1).Column

Автор - Юрий_Нд
Дата добавления - 10.10.2018 в 13:13
RAN Дата: Среда, 10.10.2018, 14:30 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата Юрий_Нд, 10.10.2018 в 13:13, в сообщении № 7 ()
Что, не сработает?

Если работает, зачем спрашивать?
Если не работает, зачем спрашивать?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата Юрий_Нд, 10.10.2018 в 13:13, в сообщении № 7 ()
Что, не сработает?

Если работает, зачем спрашивать?
Если не работает, зачем спрашивать?

Автор - RAN
Дата добавления - 10.10.2018 в 14:30
Юрий_Нд Дата: Среда, 10.10.2018, 17:17 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 441
Репутация: 19 ±
Замечаний: 0% ±

Excel 2013
Уважаемый RAN, я приношу Вам мои, самые искренние извинения.
Поверьте, у меня и в мыслях не было чего-либо "нехорошего".
Просто дело было в том, что тогда, когда я спрашивал, а у меня не было возможности проверить это. Потому и переспрашивал. Сейчас проверил. Всё работает.
Ещё раз Извините,
С Уважением и Благодарностью за ответы ________ Юрий.
 
Ответить
СообщениеУважаемый RAN, я приношу Вам мои, самые искренние извинения.
Поверьте, у меня и в мыслях не было чего-либо "нехорошего".
Просто дело было в том, что тогда, когда я спрашивал, а у меня не было возможности проверить это. Потому и переспрашивал. Сейчас проверил. Всё работает.
Ещё раз Извините,
С Уважением и Благодарностью за ответы ________ Юрий.

Автор - Юрий_Нд
Дата добавления - 10.10.2018 в 17:17
_Boroda_ Дата: Среда, 10.10.2018, 17:43 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Работает только потому, что
Код
Set ar = Range("E10:G13")
- это не
Цитата Юрий_Нд, 10.10.2018 в 10:03, в сообщении № 1 ()
двумерный массив элементами
, а просто создание переменной типа Range
Цитата Юрий_Нд, 10.10.2018 в 13:09, в сообщении № 6 ()
Значение функции я считал (зеленое), теперь нужно считать ещё и аргументы

Почему Вы не хотите сразу всё взять в один массив?
[vba]
Код
ar = Range("D9:G13")
[/vba]
первая строка массива - розовые
первый столбец - голубые
ar(1,1) - пусто
остальные - зеленые


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеРаботает только потому, что
Код
Set ar = Range("E10:G13")
- это не
Цитата Юрий_Нд, 10.10.2018 в 10:03, в сообщении № 1 ()
двумерный массив элементами
, а просто создание переменной типа Range
Цитата Юрий_Нд, 10.10.2018 в 13:09, в сообщении № 6 ()
Значение функции я считал (зеленое), теперь нужно считать ещё и аргументы

Почему Вы не хотите сразу всё взять в один массив?
[vba]
Код
ar = Range("D9:G13")
[/vba]
первая строка массива - розовые
первый столбец - голубые
ar(1,1) - пусто
остальные - зеленые

Автор - _Boroda_
Дата добавления - 10.10.2018 в 17:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как определить имя/номер ячейки первого элемента массива? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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