Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 2)

Модерирует : ShIvADeSt

ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
'В редакторе VBA в меню Tools, пункт Reference
' в диалоге поставте галочку для Microsoft Scripting Runtime.
 
Sub TestDict()
    Dim pAll As New Scripting.Dictionary
    Dim w1 As Worksheet
    Dim rowLast, iRow As Long
    Dim vEntry As String
         
    Set w1 = Workbooks("Книга2.xls").Worksheets("Лист1")
    rowLast = Cells(w1.UsedRange.Rows.Count + 1, "A").End(xlUp).Row
 
    ' сохраним весь столбец А в Scripting.Dictionary для удобства поиска
    For iRow = 1& To rowLast
            vEntry = CStr(w1.Cells(iRow, "A").Value)
            If Not pAll.Exists(vEntry) Then
               pAll.Add vEntry, iRow
            End If
    Next iRow
   ' в результате этого кода в Dictionary получаются все уникальные строки из столбца А
 
   ...
    'вот как их можно все перебрать:    
    For iRow = 0 To pAll.Count - 1
      Cells(iRow + 1, 3).Value = pAll.Keys(iRow)
      Cells(iRow + 1, 4).Value = pAll.Items(iRow)
    Next iRow
 
End Sub
 


Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 23:48 25-09-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 2)
ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru