Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 |

 

  Вопрос: Как безразмерный автофильтр на комбобоксах сделать Добавлено: 28.01.10 13:32  

Автор вопроса:  quest
Помогите пожалуйста, мне это целый тренажер для мозга.
Под ексель.
Нужно, чтобы в форме было всего 2 ComboBox: в первом выбираем название поля (по сути выбираем колонку= первую ее ячейку), а во втором формируется автофильтр именно по этой колонке. Выбрав значение из второго ComboBox - получаем все строки с этим значением, чтобы поместить в новосозданную книгу...
Зы: количество колонок - часто очень разное

Ответить

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

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



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #1 Добавлено: 29.01.10 05:57
Помогите пожалуйста, мне это целый тренажер для мозга.
А для чего тогда мозг нужен, если не думать?
  1. Private Sub UserForm_Activate()
  2. Set Addr = Sheets(1).Range("A1" & ":" & Sheets(1).Cells(1, 1).End(xlToRight).Address(0, 0))
  3. For Each Cell In Addr
  4. 'CB1.AddItem Cel.Address(0, 0) & ":" & Cel.Value
  5. CB1.AddItem Cell.Value
  6. Next
  7. End Sub
  8. Private Sub CB1_Change()
  9. Col = CB1.ListIndex + 1
  10. Set Addr = Sheets(1).Range(Sheets(1).Cells(2, Col).Address(0, 0) & ":" & Sheets(1).Cells(2, Col).End(xlDown).Address(0, 0))
  11. For Each Cell In Addr
  12. CB2.AddItem Cell.Value
  13. Next
  14. End Sub
  15. Private Sub CB2_Change()
  16. Col = CB1.ListIndex + 1
  17. Set Addr = Sheets(1).Range(Sheets(1).Cells(2, Col).Address(0, 0) & ":" & Sheets(1).Cells(2, Col).End(xlDown).Address(0, 0))
  18. For Each Cell In Addr
  19. If (Cell.Value = CB2.Text) Then
  20. ' все, что нужно сделать сс строками
  21. End If
  22. Next
  23. End Sub
PS Имена комбобоксов изменены с ComboBox1 и ComboBox2 на CB1 и CB2 соответственно

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #2 Добавлено: 29.01.10 10:42
AxeL пишет:
А для чего тогда мозг нужен, если не думать?

Ооо, я им думаю, но думаю сайты и думаю ботанику, а в ВБА - дилетант полный.
За помощь - огромное человеческое спасибо.

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #3 Добавлено: 29.01.10 18:05
Да не пошлите Вы меня подальше. Решил задачку усложнить...
1. В вашем примере, если я выбрал значение из первого комбобокса, потом второго, а потом передумал, и в первом поменял значение - во втором остается та же самая колонка, что была при первом выборе, т.е второй комбобокс не обновляется.
2. поискав по "автофильтр в ComboBox" ответов толком не нашел, но зато понял, что тут фильтр "двойной" нужен. - для самого комбобокса (чтобы в нем выводились только уникальные записи, как в автофильтре, вставленном в лист), и автофильтр, чтобы по выбранному критерию в комбобоксе - выбрать из таблицы все строки в которых этот критерий встречается...
Зы: фильтр, который выводит только уникальные значения из колонки в комбобокс меня интересовал давно (часто в формах использовать приходится), но решения так и не нашел.

Ответить

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



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #4
Добавлено: 31.01.10 16:08
Уважаемый quest, примерно понятно, чего Вы хотите добиться, но все же не до конца все ясно. Можете показать пример таблицы для фильтрации, скажем выложить на файлообменник или на e-mail (указан в моем профиле)? Я так понял, вы хотите в первом комбобоксе получить список названий колонок, во втором в случае выбора - перечень уникальных значений по колонке в пределах таблицы. Далее в случае выбора значения из второго комбобокса что вы хотите делать? Фильтровать строки таблицы штатным автофильтром Excel или выбрать строки таблицы и перенести в новую Книгу Excel? Нужно ли сделать вывод в комбо по аналогии с штатным автофильтром Excel ";(все)", ";(первые 10...)", ";(условие...)", ";(пустые)", ";(непустые)"? Сделать это в принципе можно, надо просто до конца уточнить как именно сделать, ведь можно по-разному.

Ответить

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



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #5 Добавлено: 01.02.10 03:33
В вашем примере, если я выбрал значение из первого комбобокса, потом второго, а потом передумал, и в первом поменял значение - во втором остается та же самая колонка, что была при первом выборе, т.е второй комбобокс не обновляется.
Обнвляется, но не удаляются предыдущие значения. Чтобы удалялись предыдущие значения нужно чуть-чуть переделать код
  1. Private Sub CB1_Change()
  2. Col = CB1.ListIndex + 1
  3. Set Addr = Sheets(1).Range(Sheets(1).Cells(2, Col).Address(0, 0) & ":" & Sheets(1).Cells(2, Col).End(xlDown).Address(0, 0))
  4. CB2.Clear
  5. For Each Cell In Addr
  6. CB2.AddItem Cell.Value
  7. Next
  8. End Sub
т.е. добавилась только строчка CB2.Clear
Следующий код выводит адреса значений, совпадающих со значением, выбранным пользователем
  1. Private Sub CB2_Change()
  2. Col = CB1.ListIndex + 1
  3. Set Addr = Sheets(1).Range(Sheets(1).Cells(2, Col).Address(0, 0) & ":" & Sheets(1).Cells(2, Col).End(xlDown).Address(0, 0))
  4. For Each Cell In Addr
  5. If (Cell.Value = CB2.Text) Then
  6. MsgBox Cell.Address(0, 0)
  7. End If
  8. Next
  9. End Sub
Отличие от предыдущего кода только в условии
  1. If (Cell.Value = CB2.Text) Then
  2. MsgBox Cell.Address(0, 0)
  3. End If
... Так что ты еще хочешь? Напиши подробней...

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #6 Добавлено: 01.02.10 16:28
Спасибо. Пример таблицы для фильтрации, отправлю на e-mail, редактирую ваше же понимание вопроса:
mc-black пишет:
В первом комбобоксе получить список названий колонок, во втором в случае выбора - перечень уникальных значений по колонке в пределах таблицы. Далее в случае выбора значения из второго комбобокса выбрать строки таблицы и перенести в новую Книгу Excel. Нужно вывод в комбо только уникальных значений в пределах выбраной колонки.

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #7 Добавлено: 01.02.10 16:45
Не могу чет на электронку, вот выложил пример таблицы: zapovednyk.ru/failo/PrimerTab.rar
Это все только маленькая запчасть своеобразной мини СУБД где в качестве БД любая простая екселевская таблица (ибо так удобно нашему планктону). Уже почти все готово, работает, но удобства не хватает...

Ответить

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



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 01.02.10 23:44
begin 644 quest.rar
hIa3m6Fc5+AyEQk++1E++++++++0DpLEUY16+aUE++8ME+++0XHUvzSuwEHkR
hBEo+6++++3JnNL74Pr7hAGtaQao+g5tTE8QMJSsFDKT7n4PfMW+RCC0-hPOJ
hjb4o1SH9UYhCYBMKED4irrvJTKWQ2sSuqopYlc57Go2+EVbTtj7qwQhUV-QE
h9p9OOuLYLTQ6DCGyx8sVuu1U0Ja0Nd10rjZvIJC9a4-9R51I1DZ6Q5UHi5l2
hsV7cFMZG17eMoNwfJXGLYbFnOcgV3oewAmH5YlhbW6rg8nPTcRWkE2uEu0nh
h-i9JnNwDAzSIzOcNqYIN9jR881Pw+iL4L6S1NXmm2wAXDG8PxHmdsDzzCHny
hIol+WzDs9uutWFLRILHcxYKmW9Um70B8exUyGLi2opl0N6-SXn7stPzm0CS3
hY5eEt5XBK2oaWVuNqMMCL9JcNV8vwZSsc3c9dSR-bzcH9IIg4y7LN10Ugo4s
h6l5Rn6Q8Qgyw6xxGbcHzHhkcxdWWVVh88wbbMpoYu5WwIasiJ7HH9H5gwvYI
h7rreX9Ol9cnoM+NfN76kPZ5QVla4EZ51hp6NA0rRDLZHY3qa16moKA2dT6Op
hMuVQig6O+2NsBcYC+z+Dqn0tcATtrPdvWFGVci1KaRcMW+2OfkeZHX8oQC5J
h2aIdT-SBwPZ7Zqvp2NS+d+pYHdLtVBY-7y4VIfQs1pJV8WwVl-wV1+WH1hsY
hfjKIB8NQ8rNJ-SOVfM2w0vwgv8ZHTeAKDdYvzPRb4G+qvO6x0fWkMi3Ed2iF
h3uCqolj1l2gIYNEM1aYguK3lgVP3F4-c3CQgktraBHPauMZmZTnQn9C1-Qay
h5emtlCxgoJU8sofuZZ6b7Y3J3mJ7eoOUX7qCb3B7DqUykAR27r0AAL5KzfvJ
h1iyEl0Btil0nkxVO3IQqn8ssxV4meUxF+mlIeoP6-1N0HCFC8bQrlhwJe4Da
hMbFlqIwQRdKSWA7xbVUza8wFjVT6gKtDTZp6zs6j-Hjr8JLGx2FrZrZnSJhk
h5q0uoyftNTieQfTgTT9-rna1-eGpD3JvEBOufwJe+RXYnCogYx9VJRgJpM51
hjwSEeluArywANhh0IVofwGfWuX8Cu9rCJjsVoYkQkaFiDkukytnnfMiG1MW6
hatKFIa-8MZzCxmQitBmlvTMIqlONtgrxQfLEYIl61GzQp3-3W7X1fM2jfiLP
hNFMAZ04SMSygQk84Qt69Evud9aMRz5SNaB5ggj8yuOBycONbthJyg6Yi2+Fs
hnnKNRzcFMDjqIEXVmghzDbvOIzTIWrnb3XQ2d7KFXIPjJgRWM5L2FTjrHMHC
hLK96nTfwhXBGgn17DXTwt+xFX-eOkmBUCal45dFIPx6hSLLcPH51zw4hD8AD
hA1gwu4PdXGgdYTyK+EStcwiUp09tD5Ms4LhLTpj4HLRFtuRlUgYwXaQqb1Cu
hX5R-PY4AWTmtQ8hglAhtgp45a3olYAzXInSadDWnBYw3nQI-FrTq3jyR5LlB
huiT5ElueYtn97uoZb15DARYqUkz9iZsp0t0nSsCm2Pwgky4aSPDBpsKevGIv
h0KfCyDlPxi7gnEFqQpzLMyvqZsKZFUFM9Z0f8DazdQcRZyvQWsXZMv6hd5qb
hC6VGd5HsW+0B+Di4WIXWMKYrqirfJuWA++0zW4TqeTzIagho67+m+4E0+++M
h1++++ZZBlgXij22w5HIB+0++++-JQqJmFaxmPH2iNb7s+9-yLo+A5J1En9oM
h2TnrLg9OO-7IWcyacJE03337-0JDbHMKZFM8VI7Lh7N83e7Bd9hG-0+b+vUQ
hnU+Y6EJ6tVk3SVk2Q-JIC-oj+eeCsY-n0EJPqLV0XSvgV8QefSZQHahtwLaO
hwxtPzCNtjAltyHnmzTgpsZauy9T-w5iGKP6-QJwPuroCvKnzXw6LnwbdqqO1
hzSE3FGdqMUK0AXYiSEHWXYpHp0gadbjtigzFqYzYfzMJ9yOorsOFyP1+iVDF
htc1fVnOhUhL5d7+zfVw1rNZhZkj5s-u-UQqygKALaQLnxfmywWeBTgISFsEp
hLUe0XhXExCjKvT99O4fiKFAAJT9kyYajDnLBJ6F6dklFT0KAEqzOuUfRaXAy
hkDJ+TbOFvKT63fb4mTpqahsVcry+LTWwLUfdvkhmawHpUVqHaxt8Bulu8ryR
hfyzrQi3sgt+ojQbc2mX5S7mqG0-oNLHObGbfGAZmCsapjyBTEXhhh3CqsRVn
hOWFJH9ONOuoNlm+dh-mW9IIehjSIMOd3-oZnbMG0sVLkbfZoTANmY6ur3ubS
hhk6OLFm0ZT7ZGtjIF7v+FDvA7dLAoqQJ3A5BoXBeKx949QZWZN978k6yTl0w
hQhkLUZY31gVj0alXaxeacw5SEEOHp0Vd6OgQnuxZzaDkFuA73mZLlbGKRa8p
h4yrQpa6PgOq7pAbySuCm3IXF-bn4QRhheT4hlsICjYuIWuCSbDhquh8NBA2V
hJ5GdeqXlSTyTWMLngD-cBMnK2qlRhI7qAl5WFLR8Tcq9fyiHNYnEa9uLWHQ3
PgP+uuol2zwHFHyz1xLJ4hv-iJyr2DLg+E+Q+
+
end
sum -r/size 31571/1917


Экспортированная форма с кодом и контролами в xxe-кодировке. Копировать текст в блокнот, сохранить как *.xxe, открыть и распаковать в WinRAR

  1. Option Explicit
  2.  
  3. ' (с) 2010 Maksim S. Chernyi
  4. '          mc-black@yandex.ru
  5.  
  6. Dim rng As Range
  7.  
  8. Private Sub InitCombo1()
  9.     Dim hdr(), i As Long
  10.     Dim wsh As Worksheet, m As Long, n As Long
  11.     
  12.     Set wsh = ThisWorkbook.Worksheets(1)
  13.     
  14.     For m = wsh.UsedRange.Row + wsh.UsedRange.Rows.Count To 1 Step -1
  15.         If wsh.Rows(m).Text = "" Then Else Exit For
  16.     Next m
  17.     
  18.     For n = wsh.UsedRange.Column + wsh.UsedRange.Columns.Count To 1 Step -1
  19.         If wsh.Columns(n).Text = "" Then Else Exit For
  20.     Next n
  21.     
  22.     Set rng = wsh.Range(Cells(1, 1), Cells(m, n))
  23.     hdr = rng.Rows(1).Value
  24.     
  25.     ComboBox1.Style = fmStyleDropDownList
  26.     ComboBox2.Style = fmStyleDropDownList
  27.     Label1.Caption = ""
  28.     ComboBox1.Clear
  29.     For i = 1 To rng.Columns.Count
  30.         ComboBox1.AddItem hdr(1, i)
  31.     Next
  32.     ComboBox1.ListIndex = 0
  33.     
  34.     Set wsh = Nothing
  35. End Sub
  36.  
  37. Private Sub InitCombo2(key As Long)
  38.     Dim i As Long, j As Long, t As Long
  39.     Dim b As Boolean, e As Boolean
  40.     Dim val(), lst()
  41.     
  42.     val = rng.Columns(key).Value
  43.     ReDim lst(0 To 0)
  44.     i = 2
  45.     e = False
  46.     Do While i <= UBound(val, 1)
  47.         If Trim$(val(i, 1)) = "" Then
  48.             e = True
  49.         Else
  50.             b = True
  51.             j = 1
  52.             Do While j <= UBound(lst)
  53.                 If val(i, 1) = lst(j) Then
  54.                     b = False
  55.                     Exit Do
  56.                 End If
  57.                 j = j + 1
  58.             Loop
  59.             
  60.             If b Then
  61.                 t = UBound(lst) + 1
  62.                 ReDim Preserve lst(0 To t)
  63.                 lst(t) = val(i, 1)
  64.             End If
  65.         End If
  66.         i = i + 1
  67.     Loop
  68.     
  69.     i = 1
  70.     Do While i <= UBound(lst) - 1
  71.         j = 1
  72.         Do While j <= UBound(lst) - i
  73.             If lst(j) > lst(j + 1) Then
  74.                 lst(0) = lst(j + 1)
  75.                 lst(j + 1) = lst(j)
  76.                 lst(j) = lst(0)
  77.             End If
  78.             j = j + 1
  79.         Loop
  80.         i = i + 1
  81.     Loop
  82.     
  83.     ComboBox2.Clear
  84.     ComboBox2.AddItem "(Все)"
  85.     ComboBox2.AddItem "(Первые 10...)"
  86.     ComboBox2.AddItem "(Условие...)"
  87.     i = 1
  88.     Do While i <= UBound(lst)
  89.         ComboBox2.AddItem lst(i)
  90.         i = i + 1
  91.     Loop
  92.     If e Then
  93.         ComboBox2.AddItem "(Пустые)"
  94.         ComboBox2.AddItem "(Непустые)"
  95.     End If
  96. End Sub
  97.  
  98. Private Sub CopyToNew()
  99.     Dim wbk As Workbook
  100.     Dim wsh As Worksheet
  101.     Dim i As Long, j As Long
  102.     
  103.     Application.EnableEvents = False
  104.     Application.ScreenUpdating = False
  105.     
  106.     If ComboBox2.Value <> Empty Then
  107.         Set wbk = Workbooks.Add
  108.         Set wsh = wbk.Worksheets(1)
  109.         
  110.         rng.Rows(1).Copy
  111.         wsh.Cells(rng.Row, rng.Column).PasteSpecial xlPasteColumnWidths
  112.         wsh.Cells(rng.Row, rng.Column).PasteSpecial xlPasteAll
  113.         i = 2
  114.         j = rng.Row + 1
  115.         Do While i <= rng.Rows.Count
  116.             If rng.Cells(i, ComboBox1.ListIndex + 1).Value = ComboBox2.Value Then
  117.                 rng.Rows(i).Copy
  118.                 wsh.Cells(j, rng.Column).PasteSpecial xlPasteAll
  119.                 j = j + 1
  120.             End If
  121.             i = i + 1
  122.         Loop
  123.         Application.CutCopyMode = False
  124.         
  125.         Set wsh = Nothing
  126.         Set wbk = Nothing
  127.     End If
  128.     
  129.     Application.EnableEvents = True
  130.     Application.ScreenUpdating = True
  131. End Sub
  132.  
  133. Private Sub ComboBox1_Change()
  134.     InitCombo2 ComboBox1.ListIndex + 1
  135. End Sub
  136.  
  137. Private Sub ComboBox2_Change()
  138.     Label1.Caption = ComboBox2.Value
  139. End Sub
  140.  
  141. Private Sub CommandButton1_Click()
  142.     Call CopyToNew
  143. End Sub
  144.  
  145. Private Sub UserForm_Initialize()
  146.     Call InitCombo1
  147. End Sub


DonateWare: пожертвования приветствуются)))

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #9 Добавлено: 02.02.10 11:16
Спасибо всем. Все супер. Работает!!! Осталось причесать и в надстройку вставить. Дайте ваши кошельки, у меня несколько wmz завалялось, хоть символически отблагодарю. А мысли хорошие изложили, и поиском подобного я не находил... может еще какому дилетанту пригодится

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #10 Добавлено: 02.02.10 12:26
Дальше пошло баловство. Немножко вот в этом месте украсил:
  1. Private Sub ComboBox2_Change()
  2. If ComboBox2.Value = "" Then
  3.  Label1.Caption = ComboBox2.Value
  4.     Else
  5.     Label1.Caption = "Если вас интересует именно  " & ComboBox2.Value & ", нажмите кнопку"
  6.     End If
  7. End Sub

Но не смог разобраться, как сделать, чтобы при отсутствии выбора условия в ComboBox2 здесь выводился альтернативный текст.

Ответить

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



Вопросов: 5
Ответов: 34
 Профиль | | #11 Добавлено: 02.02.10 16:54
И еще... при вставке в надстройку, вылетает
Run-time error '1004':
Method 'Range' of object '_Worksheet' failed
- имеется в виду, что wsh как Worksheet, или о чем-то другом ругается?

Ответить

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



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #12
Добавлено: 02.02.10 20:51
Ошибка скорее всего вот здесь возникает (в некоторых случаях):
  1. Set rng = wsh.Range(Cells(1, 1), Cells(m, n))

Чтобы не было неоднозначности ячеек и листа, здесь лучше написать так:
  1. Set rng = Set rng = wsh.Range(wsh.Cells(1, 1), wsh.Cells(m, n))

или просто "железно" задать какой-то диапазон для автофильтра:
  1. Set rng = wsh.Range(wsh.Cells(1, 3), wsh.Cells(5, 25))

В последнем случае под фильтр подпадут только ячейки с 3 по 5 столбей листа, до 25-й строки включительно, заголовки столбцов в первой строке.

Приятно будет, если чем-то оценишь =) Мой электронный кошелек WebMoney: R347240177127

Ответить

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



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #13
Добавлено: 02.02.10 21:47
Для альтернативного текста надо сделать так:

  1. Private Sub ComboBox2_Change()
  2.     If ComboBox2.Value = "" Then
  3.         Label1.Caption = "Альтернативный текст"
  4.     Else
  5.         Label1.Caption = "Если вас интересует именно  " & ComboBox2.Value & ", нажмите кнопку"
  6.     End If
  7. End Sub


Ну и изначально поставить альтернативный текст в процедуру InitCombo1
  1. Label1.Caption = "Альтернативный текст"

Вместо стоящей там
  1. Label1.Caption = ""

Ответить

Номер ответа: 14
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #14 Добавлено: 03.02.10 03:08
Но не смог разобраться, как сделать, чтобы при отсутствии выбора условия в ComboBox2 здесь выводился альтернативный текст.
При отсутствии выбора можно обработать ComboBox2.ListIndex (при отсутствии выбора равен -1, выбранные значения начинаются с нуля) или как у тебя (и у mc-black'a) - ComboBox2.Value проверять. Только это не будет работать в событии ComboBox2_Change(), т.к. событие происходит ТОЛЬКО при выборе какого-либо значения. А если пользователь просмотрел все значения и ничего не выбрал, то событие ComboBox2_Change() не будет вызвано. Лучше поставить проверку значения на кнопку, которую предлагаешь пользоваиелю нажать - как самый надежный и правильный вариант...

Ответить

Номер ответа: 15
Автор ответа:
 quest



Вопросов: 5
Ответов: 34
 Профиль | | #15 Добавлено: 03.02.10 11:34
mc-black пишет:
Ну и изначально поставить альтернативный текст в процедуру InitCombo1

Это я просклерозил. Поначалу, там и прописывал, но увидев, что при клике надпись исчезает, перешел к Private Sub ComboBox2_Change...
AxeL пишет:
Лучше поставить проверку значения на кнопку, которую предлагаешь пользоваиелю нажать - как самый надежный и правильный вариант...

Я так и сделал...
  1. Private Sub CommandButton1_Click()
  2. If ComboBox2.Value = "" Then
  3.    MsgBox "Не так быстро. Сначала нужно определиться с выбором", , _
  4.    "Куда спешите"
  5.    Exit Sub
  6. End If
  7.     Call CopyToNew
  8.   '  Application.Dialogs(xlDialogSaveAs).Show
  9. End Sub

Ответить

Страница: 1 | 2 |

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



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