Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2016, 18:56   #1
Otellka
 
Регистрация: 10.03.2016
Сообщений: 5
По умолчанию Макрос для выборки из таблицы Excel, для разговоров свыше 10 минут

Приветствую Вас, нужна помощь.
Приходит на работу выписка по телефону, надо сделать выборку разговоров превышающие лимит в 10 минут, в ручную очень долго получается, а списки телефонов очень большие.
Можно сделать скрипт/макрос, что бы он искал значения равные или больше "10" и копировал строки на новый лист?
Но при этом необходимо сохранить сам номер телефона.
То есть получается копировалась строка "Номер телефона...." а дальше уже отсеивалось значение, вот.
Или как это можно сделать другими способами?
Спасибо за внимание :-)
Вложения
Тип файла: xlsx protelefoni.xlsx (20.6 Кб, 24 просмотров)
Otellka вне форума Ответить с цитированием
Старый 10.03.2016, 19:57   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сделайте активным лист с данными
выполните этот
Код:
Sub OnlyMore10()
  Dim r As Long, lr As Long, Phone As String
  lr = Cells(Rows.Count, 1).End(xlUp).Row: r = 1
  Do While r <= lr
    If Cells(r, 1) Like "Номер телефона: *" Then Phone = "№" & Mid(Cells(r, 1), 16, InStr(Cells(r, 1), "(") - 17)
    If (Cells(r, 8) < 10 And Cells(r, 19) < 10) Or Cells(r, 8) = "Длит." Then Rows(r).Hidden = True Else Cells(r, 22) = Phone
    r = r + 1
  Loop
End Sub
макрос ничего не удаляет не переносит, просто скрывает не нужные строки.
отметить все, правая кнопка мыши, отобразить и снова все видно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 10.03.2016 в 22:44.
IgorGO вне форума Ответить с цитированием
Старый 10.03.2016, 20:28   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Public Sub www()
    Dim a, i&, n&, s$
    a = Range("a2:u" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim b(1 To UBound(a), 1 To 6)
    For i = 1 To UBound(a)
        If a(i, 1) Like "Номер телефона:*" Then s = a(i, 1)
        If IsNumeric(a(i, 8)) And a(i, 8) > 10 Then
            n = n + 1: b(n, 1) = s: b(n, 2) = a(i, 1): b(n, 3) = a(i, 3)
            b(n, 4) = a(i, 4): b(n, 5) = a(i, 8): b(n, 6) = a(i, 9)
        End If
        If IsNumeric(a(i, 19)) And a(i, 19) > 10 Then
            n = n + 1: b(n, 1) = s: b(n, 2) = a(i, 11): b(n, 3) = a(i, 13)
            b(n, 4) = a(i, 15): b(n, 5) = a(i, 19): b(n, 6) = a(i, 21)
        End If
    Next
    [w2].Resize(n, 6) = b
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 10.03.2016, 21:41   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Ctrl+A, отменить объединение ячеек. Выделить всю таблицу (можно F5 - выделить - последнюю ячейку, потом Ctrl+Shift+Home). Включить автофильтр - Числовые фильтры - больше или равно - 10.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 10.03.2016, 23:24   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Леш, так номера телевонов спрячет.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 10.03.2016, 23:44   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я упростил макрос.
спрятал все строки, а телефон добавил в конце строки
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.03.2016, 18:16   #7
Otellka
 
Регистрация: 10.03.2016
Сообщений: 5
По умолчанию

Спасибо большое парни.
Для простого поиска и просмотра хорошо подходит первый вариант (правда слега офис подвисает пока строки все прячет)
А второй способ подошел для составления отчета :-) Я там еще по аналогии добавил выборку для другого формата записи.

А что надо дописать, чтобы он заливку ячейки в какой нибудь цвет делал?
Otellka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для массовой рассылки почты из таблицы Excel с вложением Hemezida Microsoft Office Excel 3 21.08.2015 15:59
Макрос в Excel для преобразования и переноса таблицы из MS Word Natasha_i Microsoft Office Word 4 04.02.2013 17:47
Макрос для переноса данных в виде таблицы из Excel в Word Jevgeni85 Microsoft Office Excel 2 25.08.2010 16:52
Макрос для конвертации таблицы Excel Yarr Microsoft Office Excel 1 13.08.2010 10:47
Макрос для формирования таблицы в Excel konistra Microsoft Office Excel 6 28.05.2010 23:32