Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос для удаления лишних строк. Ошибка Expected end with
 
Код
Sub МАКС()
'
If Worksheets("Макс").PivotTables.Count > 0 Then
    Worksheets("Макс").PivotTables("Свод").TableRange2.Clear
End If
Dim ra As Range, delra As Range, ТекстДляПоиска As String
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    ТекстДляПоиска = "Комплекты"    ' удаляем строки с таким текстом
    ' перебираем все строки в используемом диапазоне листа
    For Each ra In ActiveSheet.UsedRange.Rows
        ' если в строке найден искомый текст
        If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
            ' добавляем строку в диапазон для удаления
            If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
        End If
    Next
    ' если подходящие строки найдены - удаляем их
    If Not delra Is Nothing Then delra.EntireRow.Delete
    With ActiveSheet
    .Range("E3:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).ClearContents
    .Range("E2:F2").AutoFill .Range("E2:F" & .Cells(.Rows.Count, "D").End(xlUp).Row)
   
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Макс!R1C4:R1048576C6", Version:=6).CreatePivotTable _
        TableDestination:="Макс!R2C9", TableName:="Сводная таблица", DefaultVersion:=6
    Sheets("Макс").Select
    Cells(2, 9).Select
With ActiveSheet.PivotTables("Сводная таблица").PivotFields("Вид тары")
        .Orientation = xlRowField
        .Position = 1
End With
    ActiveSheet.PivotTables("Сводная таблица").AddDataField ActiveSheet. _
    PivotTables("Сводная таблица").PivotFields("Количество"), _
    "Количество по полю Количество", xlCount
With ActiveSheet.PivotTables("Сводная таблица5").PivotFields( _
        "Количество по полю Количество")
        .Calculation = xlPercentOfTotal
        .NumberFormat = "0,00%"
End With
    ActiveCell.Offset(1, -1).Range("A1").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(Calculation!R[8]C[-7],'Макс'!C[1]:C[2],2,0),0)"
    ActiveCell.Select
    Selection.AutoFill Destination:=ActiveCell.Range("A1:A21"), Type:= _
        xlFillDefault
    ActiveCell.Range("A1:A21").Select
    Selection.Copy
    Sheets("Calculation").Select
            
End Sub
Выгрузка из Outlook
 
Всем доброго дня!
Возможно у кого-нибдь есть макрос для выгрузки писем из Outlook в excel?
Интересует дата и время письма, тема, дата и время последнего письма по теме.
Изменено: BMSs - 02.10.2017 20:08:10
График командировок
 
Всем привет многоуважаемые гуру екселя! Необходимо на основании исходных подставить в таблицу символ с привязкой к дате и этот символ закрасить в любой цвет. В файлике прикладываю то как это должно выглядеть. Пробовал сводные, условное форматирование, различные формулы, все мимо. Единственная надежда на макрос, но нет понимания как вышеуказанную процедуру записать через макрекодер для дальнейшего редактирования. С языком VBA пока что на "Ваше величество"( не прошу сделать готовый вариант, подскажите хотя бы направление.
Спасибо!!
Обновление данных в сводной таблице
 
Код
Sub Вместимость() 
' 
Dim ra As Range, delra As Range, ТекстДляПоиска As String 
Application.ScreenUpdating = False ' отключаем обновление экрана 

ТекстДляПоиска = "Комплекты" ' удаляем строки с таким текстом 

' перебираем все строки в используемом диапазоне листа 
For Each ra In ActiveSheet.UsedRange.Rows 
' если в строке найден искомый текст 
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then 
' добавляем строку в диапазон для удаления 
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra) 
End If 
Next 
' если подходящие строки найдены - удаляем их 
If Not delra Is Nothing Then delra.EntireRow.Delete 
With ActiveSheet 
.Range("E3:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).ClearContents 
.Range("E2:F2").AutoFill .Range("E2:F" & .Cells(.Rows.Count, "D").End(xlUp).Row) 
Range("A1:F1000").Select 
Range("A2").Activate 
Sheets("Свод макс").Select 
Range("A1").Select 
ActiveSheet.PivotTables("Свод").ChangePivotCache ActiveWorkbook.PivotCaches. _ 
Create(SourceType:=xlDatabase, SourceData:= _ 
"C:\Users\User\Documents\Вместимость\2017\01\Вместимость 23-27.17\[Макрос.xlsm]Вместимость!R1C1:R1000C6" _ 
, Version:=xlPivotTableVersion15) 
Range("F12:F17").Select 
Selection.Copy 
Sheets("Calculation").Select 
End With 
Больше недели бьюсь с сводной таблицей.
Много чего получилось победить самому что-то подсказывали на форуме, но обновление сводной никак не поддается. Пробовал подставлять различные варианты которые находил, но либо макрос работает некорректно либо ошибки.
Есть вариант записать макрос через макрекордер с обновлением, но в таком случае при удалении строк область для обновления уменьшается на количество удаленных срок.

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

Макрос удаляет лишние строки, обновляет столбцы с формулами, полученный результат должен  обновится в своде и после исходные данные копируются на следующий лист
Изменено: BMSs - 31.01.2017 10:56:00
Как макросу протянуть нужное колличество строк формул
 
Всем привет, ребята нужна ваша помощь, никак не получается решить уверен пустяковую проблему. В колонки A-D (зеленые) вставляются исходные данные, затем маркрос удаляет все ненужное. Количество строк в исходных данных всегда разное.Тут и начинается самое интересное в колонках E-J (желтые), записаны различные формулы которые необходимо протянуть по вему массиву колонок A-D, чтобы в итоге получилась автосумма в колонке K. Никак не могу научить макрос протягивать нужное колличество строк. Если появляются лишние протянутые строку автосумма не считается. Возможно все формулы в желтых колонках можно записать в макрос, но это для меня космос...
Страницы: 1
Наверх