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

Вход

Регистрация

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

 

= Мир MS Excel/выборка ФИО и сумма - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
выборка ФИО и сумма
Гость Дата: Пятница, 18.03.2011, 10:49 | Сообщение № 1
Группа: Гости
вот есть на одном листе ФИО и сумма и на другом листе ФИО и сумма по два столбца на листе как на третим листе сделать выборку ФИО из двух предыд листов а суммы напртив этих ФИО сложить
Заранее признаетлен за помощь
 
Ответить
Сообщениевот есть на одном листе ФИО и сумма и на другом листе ФИО и сумма по два столбца на листе как на третим листе сделать выборку ФИО из двух предыд листов а суммы напртив этих ФИО сложить
Заранее признаетлен за помощь

Автор - Гость
Дата добавления - 18.03.2011 в 10:49
Serge_007 Дата: Пятница, 18.03.2011, 11:23 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеПример давайте.

Автор - Serge_007
Дата добавления - 18.03.2011 в 11:23
Hugo Дата: Пятница, 18.03.2011, 12:10 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Пример кода без примера файла:
Code
Sub Otbor()
     Dim a(), oDict As Object, i As Long, temp As String
      
     a = Range("a1:B" & Range("A" & Rows.Count).End(xlUp).Row).Value

     Set oDict = CreateObject("Scripting.Dictionary")
     For i = 1 To UBound(a)
         temp = UCase(Trim(a(i, 1)))
         If Not oDict.Exists(temp) Then
             oDict.Add temp, CStr(a(i, 2))
         Else
             oDict.Item(temp) = CStr(--oDict.Item(temp) + a(i, 2))
         End If
     Next

     With ThisWorkbook.Worksheets(1)
         .Range("D1").Resize(oDict.Count) = Application.Transpose(oDict.keys)
         .Range("E1").Resize(oDict.Count) = Application.Transpose(oDict.items)
     End With

End Sub

Нужно добавить цикл по листам, т.е. сейчас идёт анализ только одного листа.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПример кода без примера файла:
Code
Sub Otbor()
     Dim a(), oDict As Object, i As Long, temp As String
      
     a = Range("a1:B" & Range("A" & Rows.Count).End(xlUp).Row).Value

     Set oDict = CreateObject("Scripting.Dictionary")
     For i = 1 To UBound(a)
         temp = UCase(Trim(a(i, 1)))
         If Not oDict.Exists(temp) Then
             oDict.Add temp, CStr(a(i, 2))
         Else
             oDict.Item(temp) = CStr(--oDict.Item(temp) + a(i, 2))
         End If
     Next

     With ThisWorkbook.Worksheets(1)
         .Range("D1").Resize(oDict.Count) = Application.Transpose(oDict.keys)
         .Range("E1").Resize(oDict.Count) = Application.Transpose(oDict.items)
     End With

End Sub

Нужно добавить цикл по листам, т.е. сейчас идёт анализ только одного листа.

Автор - Hugo
Дата добавления - 18.03.2011 в 12:10
  • Страница 1 из 1
  • 1
Поиск:

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