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

Вход

Регистрация

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

 

= Мир MS Excel/Пользовательская функция ДВССЫЛ - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Пользовательская функция ДВССЫЛ
SkyPro Дата: Воскресенье, 23.06.2013, 02:08 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Доброй ночи, форумчане.
Есть необходимость сделать пользовательскую функцию подобную ДВССЫЛ.
В ячейке указано только имя листа (Лист 1)
Пока есть такой вариант:
[vba]
Код
Function ДВС(ячейка As String) As String
ДВС = "'" & ячейка & "'!" & "$A$1:$BB$200"
End Function
[/vba]
Но он работает не совсем так как нужно, и только в связке с ДВССЫЛ:
Код

=ДВССЫЛ(ДВС(A4))

Необходимо вместо "$A$2:$BB$200" указать диапазон с ячейки A1 до последней ячейки диапазона (именно на листе, на который ссылается аргумент "ячейка").
[vba]
Код
Range(Cells(1, 1), ActiveCell.SpecialCells(xlLastCell).AddressLocal).AddressLocal
[/vba]
Помогите, пожалуйста с решением.
Зарание спасибо.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 23.06.2013, 02:30
 
Ответить
СообщениеДоброй ночи, форумчане.
Есть необходимость сделать пользовательскую функцию подобную ДВССЫЛ.
В ячейке указано только имя листа (Лист 1)
Пока есть такой вариант:
[vba]
Код
Function ДВС(ячейка As String) As String
ДВС = "'" & ячейка & "'!" & "$A$1:$BB$200"
End Function
[/vba]
Но он работает не совсем так как нужно, и только в связке с ДВССЫЛ:
Код

=ДВССЫЛ(ДВС(A4))

Необходимо вместо "$A$2:$BB$200" указать диапазон с ячейки A1 до последней ячейки диапазона (именно на листе, на который ссылается аргумент "ячейка").
[vba]
Код
Range(Cells(1, 1), ActiveCell.SpecialCells(xlLastCell).AddressLocal).AddressLocal
[/vba]
Помогите, пожалуйста с решением.
Зарание спасибо.

Автор - SkyPro
Дата добавления - 23.06.2013 в 02:08
KuklP Дата: Воскресенье, 23.06.2013, 04:38 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А нафига Вам AddressLocal? И какая может быть ActiveCell на неактивном листе?
[vba]
Код
Function ДВС$(ячейка$)
          ДВС = Sheets(ячейка).UsedRange.Address(, , 1, -1)
End Function
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 23.06.2013, 04:40
 
Ответить
СообщениеА нафига Вам AddressLocal? И какая может быть ActiveCell на неактивном листе?
[vba]
Код
Function ДВС$(ячейка$)
          ДВС = Sheets(ячейка).UsedRange.Address(, , 1, -1)
End Function
[/vba]

Автор - KuklP
Дата добавления - 23.06.2013 в 04:38
SkyPro Дата: Воскресенье, 23.06.2013, 10:23 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Спасибо.

Цитата
А нафига Вам AddressLocal?

Не шарю я в VBA, иначе не создавал бы темы на этом форуме.

ЗЫ: у меня ругается на $ после ДВС

Может кто подскажет, как выглядит функция ДВССЫЛ на VBA?


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 23.06.2013, 10:27
 
Ответить
СообщениеСпасибо.

Цитата
А нафига Вам AddressLocal?

Не шарю я в VBA, иначе не создавал бы темы на этом форуме.

ЗЫ: у меня ругается на $ после ДВС

Может кто подскажет, как выглядит функция ДВССЫЛ на VBA?

Автор - SkyPro
Дата добавления - 23.06.2013 в 10:23
KuklP Дата: Воскресенье, 23.06.2013, 13:10 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (SkyPro)
как выглядит функция ДВССЫЛ на VBA
INDIRECT

Цитата (SkyPro)
у меня ругается на $ после ДВС
Очень странно. Вместо этого можете написать as string. См. файл.
К сообщению приложен файл: 3075494.xls (24.5 Kb) · 8028511.gif (6.2 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Цитата (SkyPro)
как выглядит функция ДВССЫЛ на VBA
INDIRECT

Цитата (SkyPro)
у меня ругается на $ после ДВС
Очень странно. Вместо этого можете написать as string. См. файл.

Автор - KuklP
Дата добавления - 23.06.2013 в 13:10
SkyPro Дата: Воскресенье, 23.06.2013, 13:20 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Цитата
INDIRECT

smile
Это я знаю.
Я имел ввиду VBA код функции.

Цитата
Очень странно. Вместо этого можете написать as string.

Так и сделал.
$ - означает текстовую переменную?


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 23.06.2013, 13:21
 
Ответить
Сообщение
Цитата
INDIRECT

smile
Это я знаю.
Я имел ввиду VBA код функции.

Цитата
Очень странно. Вместо этого можете написать as string.

Так и сделал.
$ - означает текстовую переменную?

Автор - SkyPro
Дата добавления - 23.06.2013 в 13:20
KuklP Дата: Воскресенье, 23.06.2013, 13:21 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
С чего Вы взяли, что она написана на ВБА? Вы мой файл смотрели?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеС чего Вы взяли, что она написана на ВБА? Вы мой файл смотрели?

Автор - KuklP
Дата добавления - 23.06.2013 в 13:21
KuklP Дата: Воскресенье, 23.06.2013, 13:23 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (SkyPro)
$ - означает текстовую переменную?
Да.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Цитата (SkyPro)
$ - означает текстовую переменную?
Да.

Автор - KuklP
Дата добавления - 23.06.2013 в 13:23
SkyPro Дата: Воскресенье, 23.06.2013, 13:31 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Цитата
С чего Вы взяли, что она написана на ВБА? Вы мой файл смотрели?

Смотрел, понял почему у меня ругалось на $.

Перефразирую.
Есть ли аналог функции ДВССЫЛ на ВБА?
Если есть, то где можно посмотреть код?


skypro1111@gmail.com
 
Ответить
Сообщение
Цитата
С чего Вы взяли, что она написана на ВБА? Вы мой файл смотрели?

Смотрел, понял почему у меня ругалось на $.

Перефразирую.
Есть ли аналог функции ДВССЫЛ на ВБА?
Если есть, то где можно посмотреть код?

Автор - SkyPro
Дата добавления - 23.06.2013 в 13:31
KuklP Дата: Воскресенье, 23.06.2013, 13:34 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (SkyPro)
Есть ли аналог функции ДВССЫЛ на ВБА?
На ВБА такая функция не нужна. Но если напишете - будет biggrin


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Цитата (SkyPro)
Есть ли аналог функции ДВССЫЛ на ВБА?
На ВБА такая функция не нужна. Но если напишете - будет biggrin

Автор - KuklP
Дата добавления - 23.06.2013 в 13:34
Serge_007 Дата: Воскресенье, 23.06.2013, 13:35 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (SkyPro)
Есть ли аналог функции ДВССЫЛ на ВБА?
Нет, аналогов функций листа Excel на VBA не существует. Его (код) писать надо. В любом случае самописная UDF будет медленнее, чем использование Worksheet_Function

Цитата (SkyPro)
понял почему у меня ругалось на $
Почему?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (SkyPro)
Есть ли аналог функции ДВССЫЛ на ВБА?
Нет, аналогов функций листа Excel на VBA не существует. Его (код) писать надо. В любом случае самописная UDF будет медленнее, чем использование Worksheet_Function

Цитата (SkyPro)
понял почему у меня ругалось на $
Почему?

Автор - Serge_007
Дата добавления - 23.06.2013 в 13:35
SkyPro Дата: Воскресенье, 23.06.2013, 14:10 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Цитата
Цитата
понял почему у меня ругалось на $

Цитата
Почему?

Я ошибался smile
Уже не ругается, почему - неизвестно.


skypro1111@gmail.com
 
Ответить
Сообщение
Цитата
Цитата
понял почему у меня ругалось на $

Цитата
Почему?

Я ошибался smile
Уже не ругается, почему - неизвестно.

Автор - SkyPro
Дата добавления - 23.06.2013 в 14:10
SkyPro Дата: Воскресенье, 23.06.2013, 15:30 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Пробую использовать ДВССЫЛ в собственной функции, но у меня даже через Браузер обьектов не находит INDIRECT
Что не так в этой с трочке?
[vba]
Код
Application.WorksheetFunction.INDIRECT(i)
[/vba]


skypro1111@gmail.com
 
Ответить
СообщениеПробую использовать ДВССЫЛ в собственной функции, но у меня даже через Браузер обьектов не находит INDIRECT
Что не так в этой с трочке?
[vba]
Код
Application.WorksheetFunction.INDIRECT(i)
[/vba]

Автор - SkyPro
Дата добавления - 23.06.2013 в 15:30
KuklP Дата: Воскресенье, 23.06.2013, 16:35 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Идиотский вопрос. Откуда нам знать, что у Вас в i? Тут не форум гадалок. И Вы уж определитесь - то просите ЮДФ, то о формуле листа... Читайте Правила, выкладывайте пример. А я откланиваюсь. Труба зовет smile


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеИдиотский вопрос. Откуда нам знать, что у Вас в i? Тут не форум гадалок. И Вы уж определитесь - то просите ЮДФ, то о формуле листа... Читайте Правила, выкладывайте пример. А я откланиваюсь. Труба зовет smile

Автор - KuklP
Дата добавления - 23.06.2013 в 16:35
SkyPro Дата: Воскресенье, 23.06.2013, 17:22 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Вопрос закрыт.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 23.06.2013, 23:07
 
Ответить
СообщениеВопрос закрыт.

Автор - SkyPro
Дата добавления - 23.06.2013 в 17:22
  • Страница 1 из 1
  • 1
Поиск:

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