Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Поиск данных в excel через форму VBA Добавлено: 28.11.08 08:55  

Автор вопроса:  alfred
Есть таблица сотрудников с табельными номерами в Excel.
Нужно вывести форму поиска через VBA.
Набирая в Textbox_e первые буквы ФИО высвечиалась полное ФИО из таблицы. При нажатии enter в textbox2 высвечивалась его табельный номер. И еще базу править нельзя только для чтения.
Как все это дело организовать макросами?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 acidsting



Вопросов: 3
Ответов: 6
 Профиль | | #1 Добавлено: 28.11.08 11:21
Предположим, на листе столбец А - фио сотрудника, столбец В - табельный номер.

Для выбора фио лучше использовать combobox.
Там будет список фио и по вводу первых букв будет выбираться запись сотрудника с соответствующей фамилией.
Назовем его fio.
Текстовое поле с номером назовем tabnum

В форме пишешь:
  1.  
  2. Private Sub UserForm_Initialize()
  3.  
  4. With fio
  5. .RowSource = "A2:A100"
  6. End With
  7.  
  8. End Sub
  9.  
  10. Private Sub fio_Change()
  11. Dim i As Long
  12.  
  13. If fio.Text <> "" Then
  14.     For i = 1 To 100
  15.         If Range("A" & CStr(i)) = podrazdelenie_priemnik.Text Then
  16.             tabnumb.Text = Range("B" & CStr(i))
  17.         End If
  18.     Next i
  19. End If
  20.     
  21. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 acidsting



Вопросов: 3
Ответов: 6
 Профиль | | #2 Добавлено: 28.11.08 11:23
acidsting пишет:
  1.  
  2.          If Range("A" & CStr(i)) = podrazdelenie_priemnik.Text Then


 

Извиняюсь
  1.  
  2.          If Range("A" & CStr(i)) = fio.Text Then


так правильно

Ответить

Номер ответа: 3
Автор ответа:
 alfred



Вопросов: 9
Ответов: 14
 Профиль | | #3 Добавлено: 28.11.08 12:15
Ругается на строку .RowSource = "A2:A100"

metod or data member not found

Ответить

Номер ответа: 4
Автор ответа:
 acidsting



Вопросов: 3
Ответов: 6
 Профиль | | #4 Добавлено: 28.11.08 12:21
alfred пишет:
Ругается на строку .RowSource = "A2:A100"

metod or data member not found

У тебя fio - ComboBox?

Ответить

Номер ответа: 5
Автор ответа:
 alfred



Вопросов: 9
Ответов: 14
 Профиль | | #5 Добавлено: 28.11.08 12:22
Прошу прощения, поспешил с выводами...
спасибо работает.

Ответить

Номер ответа: 6
Автор ответа:
 alfred



Вопросов: 9
Ответов: 14
 Профиль | | #6 Добавлено: 28.11.08 12:23
А как убрать екселевский документ от лишних глаз а оставить только форму

Ответить

Номер ответа: 7
Автор ответа:
 acidsting



Вопросов: 3
Ответов: 6
 Профиль | | #7 Добавлено: 28.11.08 12:31
я пока не нашел такого решения

Ответить

Номер ответа: 8
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 28.11.08 13:46
Надо сделать 1 лист в книге невидимым.

Ответить

Номер ответа: 9
Автор ответа:
 KiZ



Вопросов: 27
Ответов: 68
 Профиль | | #9 Добавлено: 03.12.08 20:07
ну можно еще при запуске документа
Application.Visible = False
И вообще уберется весь ексель, но форма останется
Ну это конечно, если макросы не отключат... а так да листы невидимые....

Ответить

Номер ответа: 10
Автор ответа:
 alfred



Вопросов: 9
Ответов: 14
 Профиль | | #10 Добавлено: 10.12.08 09:24
Еще вопрос...
Как организовать глобальный поиск по всей книге.
Например открывается юзерформ в нем текстбокс куда вводится значение
при нажатии кнопки начинает искать значение по всей книге и выдает результат тоже в форме (например в label1) в каких листах это значение присутствует.

Ответить

Номер ответа: 11
Автор ответа:
 alfred



Вопросов: 9
Ответов: 14
 Профиль | | #11 Добавлено: 16.12.08 09:19
прям никто не подскажет?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам