Excel 2007, форма VBA для фильтрации записей на основе условий - PullRequest
0 голосов
/ 22 мая 2011

У меня есть список записей, с которыми я хочу работать через форму VBA.

для примера: под списком записей

ID          Score   Date  
------------------------------
228483      80      5/10/2011  
243216      60      4/3/2011  
285483      40      5/1/2011  
291584      30      5/2/2011  
291323      70      4/4/2011  
285607      40      5/7/2011  
7158441     90      5/8/2011  
7083234     10      4/2/2011  

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

например, в левом верхнем углу компонент выведет список записей, набравших более 50 баллов, а в правом верхнем углу другой компонент того же типа перечислит записи, достигнутые в течение месяца # 5.

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

Будут ли какие-либо изменения в рабочей таблице отражены непосредственно в списках в форме vba?


Спасибо брату Джонске и Харагу за отличную поддержку, и да, я ищу что-то вроде DataGridView, который представляет собой прокручиваемую и сортируемую таблицу, извлеченную из базы данных на основе условия. Я пытался найти «Microsoft Office Spreadsheet», но, похоже, Мне нужно немного поработать над Excel2007, чтобы добавить его, но мой вопрос, можем ли мы сделать это более простым способом, например, можно ли подключить локальную веб-страницу к листу Excel и иметь тот же элемент управления в ней .... Я сделал набросок для чего я ищу

http://img849.imageshack.us/img849/3834/13125375.png

Легче ли построить danamic-соединение между веб-страницей и рабочим листом (и с этим элементом управления) ... большое спасибо заранее братья.

1 Ответ

0 голосов
/ 25 мая 2011

Я бы предложил вам использовать элемент управления списком.Список может отображать несколько столбцов, вам просто нужно заполнить его.Что-то вроде приведенного ниже должно помочь

'clear the listbox
lst.Clear

' set the number of columns
lst.ColumnCount = 5

' iterate through the cells and populate the listbox
For x = 1 to 10
    With lst
        .AddItem "ID"                       ' Column 1 data
        .List(.ListCount - 1, 1) = "Score"  ' Column 2 data
        .List(.ListCount - 1, 2) = "Date"   ' Column 3 data
        .List(.ListCount - 1, 3) = "Col 4"  ' Column 4 data
        .List(.ListCount - 1, 4) = "Col 5"  ' Column 5 data
        'etc.
    End With
Next

' set the widths of the columns
lst.ColumnWidths = "2.0cm;1.0cm;2.0cm;1.0cm;1.0cm"

Вам нужно будет соответственно ввести нужные значения

Надеюсь, это поможет

РЕДАКТИРОВАТЬ: >> Будет ли любоеизменения в рабочей таблице будут отражены непосредственно в списках в форме vba? << </strong> Нет, вам нужно будет обновить список через код VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...