подскажите может есть готовое решение че то не нашел.. суть проста: хочу к сводным таблицам (умным тоже) применять шкалу времени....но для удовства чтоб было просто два окошка в форме(или еще как) --- ОТ и ДО ввел дату от и дату до куда....
подскажите может есть готовое решение че то не нашел.. суть проста: хочу к сводным таблицам (умным тоже) применять шкалу времени....но для удовства чтоб было просто два окошка в форме(или еще как) --- ОТ и ДО ввел дату от и дату до куда....micholap_denis
InExSu, подскажите еще пожалуйста если применяю к сводной таблице где поле дата не активирована....если шкалу применять то работает а если код то выдает ошибку что невозможно получить свойство PivotFields класса Pivot Table
InExSu, подскажите еще пожалуйста если применяю к сводной таблице где поле дата не активирована....если шкалу применять то работает а если код то выдает ошибку что невозможно получить свойство PivotFields класса Pivot Tablemicholap_denis
If Target.Address = "$D$4" Or _ Target.Address = "$D$5" Then Отображать
[/vba] что бы подружить с другими событиями? уже имеющимися в Private Sub Worksheet_Change [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Target.EntireRow.AutoFit For Each cell In Target If Not Intersect(cell, Range("Оплата")) Is Nothing Then With cell.Offset(0, -2) .Value = Date End With End If Next cell Application.EnableEvents = False If Not Intersect(Target, Range("Диапазон")) Is Nothing Then Cells(Target.Row, 99) = "1" Cells(Target.Row, 4).FormulaR1C1 = "=IFERROR(ROUND(IF(Баланс[@[ПРИМЕЧАНИЯ и пометки]]=""списание ОС"",""0"",IF(Баланс[@Цена]="""",Баланс[@Сумма]*Баланс[@[Курс валюты]],Баланс[@Цена]*Баланс[@[Кол-во]]*Баланс[@[Курс валюты]])*IF(Баланс[@[Приход/расход]]=""Приход"",1,-1)*IF(AND(Баланс[@Валюта]=""BYR"",Баланс[@[Дата платежа]]<DATE(2016,7,1)),0.0001,1)),4),"""")" Cells(Target.Row, 38).FormulaR1C1 = "=IFERROR(IF(OR(DATEDIF(Баланс[@[Дата платежа]],TODAY(),""m"")<3,Баланс[@[Дата платежа]]=""""),"""",""1""),"""")" End If Application.EnableEvents = True End Sub
[/vba]
InExSu, а куда код всунуть [vba]
Код
If Target.Address = "$D$4" Or _ Target.Address = "$D$5" Then Отображать
[/vba] что бы подружить с другими событиями? уже имеющимися в Private Sub Worksheet_Change [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Target.EntireRow.AutoFit For Each cell In Target If Not Intersect(cell, Range("Оплата")) Is Nothing Then With cell.Offset(0, -2) .Value = Date End With End If Next cell Application.EnableEvents = False If Not Intersect(Target, Range("Диапазон")) Is Nothing Then Cells(Target.Row, 99) = "1" Cells(Target.Row, 4).FormulaR1C1 = "=IFERROR(ROUND(IF(Баланс[@[ПРИМЕЧАНИЯ и пометки]]=""списание ОС"",""0"",IF(Баланс[@Цена]="""",Баланс[@Сумма]*Баланс[@[Курс валюты]],Баланс[@Цена]*Баланс[@[Кол-во]]*Баланс[@[Курс валюты]])*IF(Баланс[@[Приход/расход]]=""Приход"",1,-1)*IF(AND(Баланс[@Валюта]=""BYR"",Баланс[@[Дата платежа]]<DATE(2016,7,1)),0.0001,1)),4),"""")" Cells(Target.Row, 38).FormulaR1C1 = "=IFERROR(IF(OR(DATEDIF(Баланс[@[Дата платежа]],TODAY(),""m"")<3,Баланс[@[Дата платежа]]=""""),"""",""1""),"""")" End If Application.EnableEvents = True End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Or Target.Address = "$D$5" Then Отображать Else Target.EntireRow.AutoFit For Each cell In Target If Not Intersect(cell, Range("Оплата")) Is Nothing Then With cell.Offset(0, -2) .Value = Date End With End If Next cell Application.EnableEvents = False If Not Intersect(Target, Range("Диапазон")) Is Nothing Then Cells(Target.Row, 99) = "1" Cells(Target.Row, 4).FormulaR1C1 = "=IFERROR(ROUND(IF(Баланс[@[ПРИМЕЧАНИЯ и пометки]]=""списание ОС"",""0"",IF(Баланс[@Цена]="""",Баланс[@Сумма]*Баланс[@[Курс валюты]],Баланс[@Цена]*Баланс[@[Кол-во]]*Баланс[@[Курс валюты]])*IF(Баланс[@[Приход/расход]]=""Приход"",1,-1)*IF(AND(Баланс[@Валюта]=""BYR"",Баланс[@[Дата платежа]]<DATE(2016,7,1)),0.0001,1)),4),"""")" Cells(Target.Row, 38).FormulaR1C1 = "=IFERROR(IF(OR(DATEDIF(Баланс[@[Дата платежа]],TODAY(),""m"")<3,Баланс[@[Дата платежа]]=""""),"""",""1""),"""")" End If Application.EnableEvents = True End If End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Or Target.Address = "$D$5" Then Отображать Else Target.EntireRow.AutoFit For Each cell In Target If Not Intersect(cell, Range("Оплата")) Is Nothing Then With cell.Offset(0, -2) .Value = Date End With End If Next cell Application.EnableEvents = False If Not Intersect(Target, Range("Диапазон")) Is Nothing Then Cells(Target.Row, 99) = "1" Cells(Target.Row, 4).FormulaR1C1 = "=IFERROR(ROUND(IF(Баланс[@[ПРИМЕЧАНИЯ и пометки]]=""списание ОС"",""0"",IF(Баланс[@Цена]="""",Баланс[@Сумма]*Баланс[@[Курс валюты]],Баланс[@Цена]*Баланс[@[Кол-во]]*Баланс[@[Курс валюты]])*IF(Баланс[@[Приход/расход]]=""Приход"",1,-1)*IF(AND(Баланс[@Валюта]=""BYR"",Баланс[@[Дата платежа]]<DATE(2016,7,1)),0.0001,1)),4),"""")" Cells(Target.Row, 38).FormulaR1C1 = "=IFERROR(IF(OR(DATEDIF(Баланс[@[Дата платежа]],TODAY(),""m"")<3,Баланс[@[Дата платежа]]=""""),"""",""1""),"""")" End If Application.EnableEvents = True End If End Sub
InExSu, Pelena, приходиться возобновить тему... подскажите пожалуйста в сводной что на лисе Отчет которая создана из таблицы на листе Общая - работает (шкала времени введением дат)
а как быть, если сводная создана из Power Pivot (из модели данных) на листе 1....не работает макрос...ошибку выдает
InExSu, Pelena, приходиться возобновить тему... подскажите пожалуйста в сводной что на лисе Отчет которая создана из таблицы на листе Общая - работает (шкала времени введением дат)
а как быть, если сводная создана из Power Pivot (из модели данных) на листе 1....не работает макрос...ошибку выдаетmicholap_denis