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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2015, 11:29   #1
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию Номер строки из ссылки

Всем доброго времени суток!
Давно не задавал вопросов, хватало своих познаний)
Такая проблема:
на листе1 в ячейке А1 формула - ссылка на лист2 ячейку В5.
Нужно из ссылки "=Лист2!B5" взять только номер строки - "5"

Требуется в макросе задать переменную - номер строки из ссылки
27102014 вне форума Ответить с цитированием
Старый 06.10.2015, 12:00   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

давно не отвечал на вопросы
=СТРОКА(Лист2!B5)
если это просто ссылка

и
=СТРОКА(ДВССЫЛ("Лист2!B5"))
если это текст

а макросом:
забрать последние цифры из строки - тут масса вариантов
от написания простенькой функции
до использования RegExpress, где будет 3 строки, создать RegExpress, присвоить значение маске, получить результат.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 06.10.2015 в 12:11.
IgorGO вне форума Ответить с цитированием
Старый 06.10.2015, 12:05   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так:
Код:
NumRow = Range([A1].Formula).Row
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 06.10.2015, 12:16   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не в бровь, а ... сами знаете

range(ССЫЛКА).row
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.10.2015, 12:18   #5
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Можно так:
Код:
NumRow = Range([A1].Formula).Row
Огромное спасибо, то что нужно!!!!
немного приспособил к своим нуждам
Код:
 
n = ActiveCell.Row
NumRow = Range(Cells(n, 4).Formula).Row
27102014 вне форума Ответить с цитированием
Старый 06.10.2015, 12:23   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Обратите внимание, что если в ячейке Cells(n, 4) формула отсутствует, то будет ошибка. Т. е. нужно предварительно проверять наличие формулы в ячейке.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 06.10.2015, 14:07   #7
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Обратите внимание, что если в ячейке Cells(n, 4) формула отсутствует, то будет ошибка. Т. е. нужно предварительно проверять наличие формулы в ячейке.
Т.к. у меня все ссылки на другой лист, то проверка такая
Код:
 If UBound(Split(Cells(n, 4).Formula, "!")) > 0 Then
27102014 вне форума Ответить с цитированием
Старый 07.10.2015, 05:29   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Лучше так:
Код:
If Cells(n, 4).HasFormula Then
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте nero4ka Помощь студентам 1 11.06.2015 11:08
Вычислить сумму элементов каждой строки матрицы A(NxM) , определить наименьшее значение этих сумм и номер соответствующей строки merilyn Помощь студентам 3 14.12.2013 11:39
Ввести число N. Вывести N строк с номером строки, двоеточием и набором чисел от 1 до N+1-k (где k-номер строки) ( в С ) Eduard12345 Помощь студентам 1 11.10.2013 07:25
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? Vetal888888 C# (си шарп) 4 20.12.2011 13:46