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

Вход

Регистрация

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

 

= Мир MS Excel/Добавление значений из макроса в определенный диапазон - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавление значений из макроса в определенный диапазон (Макросы/Sub)
Добавление значений из макроса в определенный диапазон
web-master Дата: Четверг, 11.12.2014, 18:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, есть такой макрос
[vba]
Код

Public arr
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.ListIndex = -1 Then Exit Sub
ActiveCell.Value = arr(ListBox1.Value, 1)
End Sub

Private Sub TextBox2_Change()
        ListBox1.Clear
     If Len(TextBox2.Value) = 0 Then Exit Sub
     j = 0
For i = 1 To UBound(arr)
      If InStr(1, UCase(arr(i, 1)), UCase(TextBox2.Value)) > 0 Then
         ListBox1.AddItem i
         ListBox1.List(j, 1) = arr(i, 1)
         j = j + 1
      End If
Next
End Sub
Private Sub UserForm_Initialize()
arr = Sheets("Сотрудники").[a1:a10000].Value
End Sub
[/vba]

Вызывается окно
[vba]
Код

Sub da()
UserForm1.Show
End Sub
[/vba]
Этот макрос делает следующее: в открытом окне вводом первых букв Фамилии ищем совпадения из диапазона [a1:a10000], при двойном клике на нужном варианте данные добавляются в ячейку где стоит курсор.
Нужно сделать так, чтобы можно было добавлять данные только в определенный диапазон, например "B1:B10", т.е. если выбрана ячейка не из этого диапазона то данные не добавлять, ну или выводить ошибку.


Сообщение отредактировал web-master - Четверг, 11.12.2014, 18:59
 
Ответить
СообщениеЗдравствуйте, есть такой макрос
[vba]
Код

Public arr
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox1.ListIndex = -1 Then Exit Sub
ActiveCell.Value = arr(ListBox1.Value, 1)
End Sub

Private Sub TextBox2_Change()
        ListBox1.Clear
     If Len(TextBox2.Value) = 0 Then Exit Sub
     j = 0
For i = 1 To UBound(arr)
      If InStr(1, UCase(arr(i, 1)), UCase(TextBox2.Value)) > 0 Then
         ListBox1.AddItem i
         ListBox1.List(j, 1) = arr(i, 1)
         j = j + 1
      End If
Next
End Sub
Private Sub UserForm_Initialize()
arr = Sheets("Сотрудники").[a1:a10000].Value
End Sub
[/vba]

Вызывается окно
[vba]
Код

Sub da()
UserForm1.Show
End Sub
[/vba]
Этот макрос делает следующее: в открытом окне вводом первых букв Фамилии ищем совпадения из диапазона [a1:a10000], при двойном клике на нужном варианте данные добавляются в ячейку где стоит курсор.
Нужно сделать так, чтобы можно было добавлять данные только в определенный диапазон, например "B1:B10", т.е. если выбрана ячейка не из этого диапазона то данные не добавлять, ну или выводить ошибку.

Автор - web-master
Дата добавления - 11.12.2014 в 18:57
web-master Дата: Четверг, 11.12.2014, 20:46 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
решено
 
Ответить
Сообщениерешено

Автор - web-master
Дата добавления - 11.12.2014 в 20:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавление значений из макроса в определенный диапазон (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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