Как кодом добавить RefEdit?

Программирование на Visual Basic for Applications
MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Как кодом добавить RefEdit?

Сообщение MaDriver » 27.09.2005 (Вт) 19:02

Привет! Искал поиском, но так популярно никто не объяснил, как с помощью кода добавить RefEdit в форму?
Лень - Двигатель прогресса!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.09.2005 (Вт) 23:39

А как в форму с помощью кода добавить кнопку, ты поиском не искал?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Сообщение MaDriver » 28.09.2005 (Ср) 5:39

С кнопкой-то легко (CommandButton), а для RefEdit - нет названия, и в Хелпе смотрел, там RefEdit, вообще не упоминается как контрол для Формы? С чего начать Бил знает :roll: Тоже самое про свойства для RefEdit, как сделать его видимым и наоборот. У меня допустим 2 RefEditа и нужно чтобы как только я нажимаю на кнопку выбора диапазона на первом RefEdite, второй должен становиться видимым? :cry:
Лень - Двигатель прогресса!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.09.2005 (Ср) 21:50

Ну так добавь два ref в дизайне, один видимый, другой невидимый, и переключай...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Сообщение MaDriver » 29.09.2005 (Чт) 5:53

Ты мне можешь написать код, как refedit сделать видимым и наоборот? Проблема в том, что я не знаю как на него сослаться? :roll:
Лень - Двигатель прогресса!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.09.2005 (Чт) 12:38

А как ты с него содержимое получаешь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Сообщение MaDriver » 29.09.2005 (Чт) 13:49

Издеваешься да?! :evil: Как я получу с него содержимое если я даже не могу на него сослаться, т.е. мне нужно выяснить:
1. КАК ДОБАВИТЬ RefEdit на форму? :?:
2. КАК СОСЛАТЬСЯ на RefEdit? :?:
3. КАК ИЗМЕНИТЬ его СВОЙСТВА? :?:
4. КАК МОЖНО ИСПОЛЬЗОВАТЬ его СОДЕРЖИМОЕ? :?:
Возможно ко всем этим "КАК?" один ответ, только я его не знаю, а все остальные молчат :?
Лень - Двигатель прогресса!

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 29.09.2005 (Чт) 14:22

А ты его подключил в дополнительных контролах?
Он у тебя на форме виден?
Загляни сюда: http://support.microsoft.com/default.aspx?scid=kb;en-us;213776
Такое ощущение, что ты его просто не подключил и из-за этого все проблемы. Т.к. по умолчанию, его на панели инструментов нет.
Life is what happens to us when we are planning to do something else...

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Сообщение MaDriver » 29.09.2005 (Чт) 14:29

У меня Office 2003, на панели управления формы он у меня есть и вручную я могу его добавить, могу использовать его в коде, но все кончается тем, что я выбираю нужный диапазон и все дальше я не знаю как использовать его содержимое и т.д.
Лень - Двигатель прогресса!

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 29.09.2005 (Чт) 14:39

Так в статье же приведен пример:
Код: Выделить всё
Sub CommandButton1_Click()

     Dim SelRange as Range
     Dim Addr as String

     'Получить адрес, или ссылку, из контрола RefEdit.
     Addr = RefEdit1.Value

     'Присваиваем SelRange  диапазон, указанный в RefEdit контрорле.
     Set SelRange = Range(Addr)

     'Присваиваем этому диапазону красный цвет.
     SelRange.Interior.ColorIndex = 3

     'Выгружаем форму.
     Unload Me
End Sub

По-моему, все просто...
Life is what happens to us when we are planning to do something else...

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 30.09.2005 (Пт) 0:25

Помогло? Разобрался?
Life is what happens to us when we are planning to do something else...

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

СПАСИБО!

Сообщение MaDriver » 30.09.2005 (Пт) 13:54

Да, спасибо большое K.Sergey! , теперь хоть знаю с чего начать:) у меня еще вопросик: Теперь у меня есть диапазон, а ты не знаешь как мне перейти на нужную ячейку в нем, а-то мне приходиться использовать следующий инструмент:
-
Range(source).end(xlUp).activate
activecell. offset(i,0).range("a1")
-
уверен есть способ удобнее и быстрее...
Лень - Двигатель прогресса!

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 30.09.2005 (Пт) 14:45

Держи, специально для тебя накатал основные приемы работы с диапазонами:
Код: Выделить всё
Sub WorkingWithRanges()
Dim MyRange As Range
Set MyRange = ActiveSheet.Range("D3:F6")
MsgBox MyRange.Item(1, 1).Value 'Обращаемся к левой верхней ячейке диапазона
MsgBox MyRange.Item(1, 1).Row 'Узнаем в какой строке находится левая верхняя ячейка диапазона
MsgBox MyRange.Item(1, 1).Column 'Узнаем в каком столбце находится левая верхняя ячейка диапазона
MsgBox MyRange.Rows.Count  'Количество строк в диапазоне
MsgBox MyRange.Columns.Count 'Количество столбцов в диапазоне
MsgBox MyRange.Item(MyRange.Rows.Count, MyRange.Columns.Count).Value 'Значение нижней правой ячейки диапазона
End Sub

Думаю, разберешься...
Life is what happens to us when we are planning to do something else...

MaDriver
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 31.05.2004 (Пн) 12:39

Сообщение MaDriver » 03.10.2005 (Пн) 20:54

Посмотри я нашел способ лучше:
Код: Выделить всё
Dim sourceRange As Range
Dim sourceAddr As String
sourceAddr = source.Value
Set sourceRange = Range(sourceAddr)
Str = Range(sourceAddr).Rows.Count ' узнаем соличество строк в диапазоне
Col = Range(sourceAddr).Columns.Count ' узнаем количество столбцов в диапазоне
' выясняем последовательно все значеия диапазона
For i = 1 To str
For k = 1 To col
A = sourceRange(i,k)
next
next


Дальше все зависит от фантазии :wink: :)
Потом еще отредактирую выложу код своего творения полностью, полезная штука, давно хотел написать, руки не доходили. 8)
Лень - Двигатель прогресса!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44

    TopList