Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
sernik
14 / 14 / 5
Регистрация: 24.02.2014
Сообщений: 84
1

Меню диалога выбора диапазона ячеек

20.07.2015, 09:12. Просмотров 1003. Ответов 4
Метки нет (Все метки)

Добрый день, уважаемые Гуру Excel VBA.
Подскажите пожалуйста, как вызвать меню выбора диапазона ячеек, примерно как на скрине? На просторах интернета к сожалению не смог сформулировать нужный вопрос для нахождения ответа.
Спасибо!
0
Миниатюры
Меню диалога выбора диапазона ячеек  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2015, 09:12
Ответы с готовыми решениями:

Указать стартовую директорию для диалога выбора файла
здравствуйте, помогите разобраться с запросом. Я сделал форму в VBA, сделал там кнопку, по нажатии...

Выбор диапазона ячеек
Что-то совсем все подзабыл... в общем есть отчет для подсчета стажа сотрудников, который в свою...

Заполнение диапазона ячеек
Запросите у пользователя диапазон ячеек и заполните его случайными цифрами от 0 до 50. Программа...

Копирование диапазона ячеек
Уважаемые форумчане, подскажите, пожалуйста. Хочу скопировать диапазон ячеек с одного листа на...

Выделение диапазона ячеек
Добрый вечер. Возникла проблема. Есть таблица необходимо выделить и скопировать два диапазона...

4
Казанский
14777 / 6218 / 1675
Регистрация: 24.09.2011
Сообщений: 9,834
20.07.2015, 09:49 2
В обычном макросе
Visual Basic
1
2
3
Dim r As Range
On Error Resume Next
Set r = Application.InputBox("Выберите диапазон", Type:=8)
На форме - элемент управления RefEdit.
3
sernik
14 / 14 / 5
Регистрация: 24.02.2014
Сообщений: 84
20.07.2015, 12:57  [ТС] 3
Казанский, Спасибо.
Может подскажите пожалуйста, как теперь вывести в ячейку к примеру Range("A1") тот диапазон, которые выделил на другом листе "Лист2!$A$1:$F$9", а то через Range("A1") = r.Address(False, False) , выводит только диапазон без листа. Отслеживать самому через активный лист и подкреплять?
0
The_Prist
1308 / 288 / 64
Регистрация: 13.11.2008
Сообщений: 603
20.07.2015, 13:19 4
Лучший ответ Сообщение было отмечено sernik как решение

Решение

Есть у объекта Range нужные свойства
.Parent.Name - имя листа, которому принадлежит диапазон.
Visual Basic
1
Range("a1") = "'" & r.Parent.Name & "'!" & r.Address(0, 0)
учтите, что в таком виде первый апостроф будет "съеден" ячейкой. И скорее всего надо будет записывать так:
Visual Basic
1
Range("a1") = "''" & r.Parent.Name & "'!" & r.Address(0, 0)
как и у .Address. Если указать:
Visual Basic
1
Range("A1") = r.Address(0, 0,External:=True)
то в ячейку будет выведен адрес с указанием имени книги и листа.
1
Казанский
14777 / 6218 / 1675
Регистрация: 24.09.2011
Сообщений: 9,834
20.07.2015, 13:25 5
sernik, а зачем Вам адрес диапазона в ячейке? Если хотите формулу "синтезировать", то так можно:
Visual Basic
1
Range("A1") = "=" & r.Address(False, False, Application.ReferenceStyle, True)
Здесь 3-й параметр метода Address заставит вернуть адрес в соотв. с установленным стилем ссылок (A1 или R1C1), чтобы формула работала.
4-й параметр заставить вернуть адрес в виде '[книга]лист'!диапазон , при проверке формулы Excel опустит [книга] и, если возможно, апострофы.
1
20.07.2015, 13:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2015, 13:25

Запись диапазона ячеек
Здравствуйте! На одном из этапов выполнения макроса мне нужно создать именованный диапазон,...

Выделение диапазона ячеек
Всем доброго дня. Имеется кодintersect(activesheet.usedrange,range("A:D")).Select который...

Заполнение диапазона ячеек
Еще вопрос. Запросите у пользователя диапазон ячеек и заполните его случайными символами....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru