Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2011, 11:36   #1
tur91
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 16
По умолчанию Обращение к ячейке

Способ Range("B3").Select мне неудобен.

Как обратиться к ячейке через указание номера столбца и строки.
Однажды у меня это получилось.. что то типа Cell(2,3).Select

Обращаюсь я к Excel-ю из матлаба, но это неважно, хотя бы как то обратится через номера строк и столбцов
tur91 вне форума Ответить с цитированием
Старый 24.01.2011, 11:48   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

B3 это cells(3,2) (ряд, колонка), а не наоборот
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.01.2011, 12:19   #3
tur91
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 16
По умолчанию

Все равно не получается. Вот пишу в матлабе (справа от % комментарий)

exl = actxserver('excel.application'); % COM.excel_application
exlWkbk = exl.Workbooks; % Interface.Microsoft_Excel_10.0_Obje ct_Library.Workbooks
exlWkbk.Open(filename);
exl.visible = true;
ea = exlWkbk.Application; % Interface.Microsoft_Excel_10.0_Obje ct_Library._Application
ea.Range('B3').Select; % так работает, а так ea.Cells(2,3) нет

на x = ea.Cells(3,2); выходит сообщение об ошибке ??? Index exceeds matrix dimensions.

Cells - это что за объект? в каком он классе? Это объект или метод?

Вот так

ea.Range('B3').Value = 777;
x = ea.Range('B3').Value;

все работает. А как сделать тоже самое только с Cells(3,2) ?

Последний раз редактировалось tur91; 24.01.2011 в 12:43.
tur91 вне форума Ответить с цитированием
Старый 24.01.2011, 12:45   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

обьект типа range, принадлежит листу.
странно... это аналогичное обращение с точки зрения VBA. разве что В3 это (3,2), просто должны были получить значение из С2 а не из В3.
может так попробывать x = ea.Cells(3,2).value (дальше уже с шаманами, бубнами, и ритуальными обрядами надо экспериментировать)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.01.2011, 12:59   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

да кстати, может в С3 - фигня какая и типы данных не совпадают - вот и ошибка.
давайте-ка из (3,2) данные получать, а не из (2,3), как это упорно пытаетесь сделать Вы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.01.2011, 12:59   #6
tur91
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 16
По умолчанию

x = ea.Cells(3,2).value - так не работает. Я уже заэкспериментировался, с отчаяния на форум пришел
я вообще с другими и разными работаю номерами строк и столбцов

Это у меня старая проблема. Когда то функцию написал перевода номера столбца в букву, но что то не нахожу эту функцию, хоть заново пиши

Последний раз редактировалось tur91; 24.01.2011 в 13:04.
tur91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к DOS DRAgon™ Паскаль, Turbo Pascal, PascalABC.NET 4 25.08.2010 19:50
Обращение к char Crivel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 31.07.2009 14:00
Обращение Акашаев Нурлан Общие вопросы Delphi 5 26.06.2008 16:02