Страница: 1 |
|
Вопрос: Копия результатов автофильтра в новый файл
|
Добавлено: 27.03.09 09:32
|
|
Автор вопроса: Joker
|
Приходит файл детализации по межгороду. После обработки появляется столбец с информацией о том к какому департаменту принадлежит телефон. На один департамент приходится несколько телефонов. Нужно сделать рассылку по департаментам. С помощью автофильтра в макросе я отфильтровываю нужный департамент со всеми телефлнами. А вот результат с помощью макроса скопировать не получается. ПОМОГИТЕ КТО МОЖЕТ!!!!
Ответить
|
Номер ответа: 1 Автор ответа: Jasmin
Вопросов: 23 Ответов: 417
|
Профиль | | #1
|
Добавлено: 27.03.09 14:42
|
Как-то уже был вопрос такой, не могу найти ссылку.
Но смысл был такой:-
- Worksheets("Database").Activate
- Selection.AutoFilter Field:=14, Criteria1:="=+"
- Set r = ActiveSheet.AutoFilter.Range
- c = r.CurrentRegion.Columns(15).SpecialCells(xlVisible).Count - 1
- Range("O20").Value = c
Еще вот этот отрывок может помочь:Dim r As Range
Set r = ActiveSheet.AutoFilter.Range
a = r.CurrentRegion.Columns(1).SpecialCells(xlVisible).Address
c = r.CurrentRegion.Columns(1).SpecialCells(xlVisible).Count - 1
a = "," & a
Dim MyArr() As String
MyArr = Split(a, ",$A$"
в итоге в массиве MyArr номера строк. Останется только потом преобразовать их в числовые значения (Val)
Автор Executioner
Ответить
|
Номер ответа: 5 Автор ответа: mai
Вопросов: 0 Ответов: 24
|
Профиль | | #5
|
Добавлено: 30.03.09 14:00
|
То, что предлагает mc-black
- Sub SendingOut()
- Dim PathWb As String, rng As Range, Wb As Workbook
- Application.ScreenUpdating = False
- PathWb = ThisWorkbook.Path & "\Рассылка\"
- If Dir(PathWb, vbDirectory) = "" Then MkDir (PathWb)
- If Dir(PathWb) <> "" Then Kill PathWb & "*"
- Set rng = ThisWorkbook.Sheets("Лист1").Range("A1").CurrentRegion
- rng.Columns(1).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
- For Each area In rng.Columns(1).Rows.SpecialCells(xlCellTypeVisible).Areas
- For Each cel In area
- If cel.Value <> "департамент" Then
- With Workbooks.Add(xlWBATWorksheet)
- rng.AutoFilter field:=1, Criteria1:=cel.Value
- rng.SpecialCells(xlCellTypeVisible).Copy _
- Destination:=.ActiveSheet.Cells(5, 1)
- .ActiveSheet.Columns.AutoFit
- .ActiveSheet.Cells(1, 2).Value = "Департамент " & cel.Value
- .ActiveSheet.Cells(2, 2).Value _
- = "исходящие тефонные звонки за такой-то месяц"
- .SaveAs (PathWb & Left(cel.Value, 5))
- .Close
- End With
- End If
- Next
- Next
- ThisWorkbook.Sheets("Лист1").AutoFilterMode = False
- Application.ScreenUpdating = True
- End Sub
Ответить
|
Страница: 1 |
Поиск по форуму