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

Вход

Регистрация

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

 

= Мир MS Excel/шкала времени макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » шкала времени макросом (Макросы/Sub)
шкала времени макросом
micholap_denis Дата: Пятница, 10.12.2021, 15:44 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
подскажите может есть готовое решение
че то не нашел..
суть проста: хочу к сводным таблицам (умным тоже) применять шкалу времени....но
для удовства чтоб было просто два окошка в форме(или еще как) --- ОТ и ДО
ввел дату от и дату до куда....
 
Ответить
Сообщениеподскажите может есть готовое решение
че то не нашел..
суть проста: хочу к сводным таблицам (умным тоже) применять шкалу времени....но
для удовства чтоб было просто два окошка в форме(или еще как) --- ОТ и ДО
ввел дату от и дату до куда....

Автор - micholap_denis
Дата добавления - 10.12.2021 в 15:44
micholap_denis Дата: Пятница, 10.12.2021, 16:19 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
нашел))
пример выкладываю...только как подправить чтоб срабатывало без кнопки а по вводу дат автоматом?
К сообщению приложен файл: 4322742.xlsm(41.5 Kb)
 
Ответить
Сообщениенашел))
пример выкладываю...только как подправить чтоб срабатывало без кнопки а по вводу дат автоматом?

Автор - micholap_denis
Дата добавления - 10.12.2021 в 16:19
micholap_denis Дата: Пятница, 10.12.2021, 16:24 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
ну и до кучи как подправить чтобы и не только к сводным но и к обычным умным применять
 
Ответить
Сообщениену и до кучи как подправить чтобы и не только к сводным но и к обычным умным применять

Автор - micholap_denis
Дата добавления - 10.12.2021 в 16:24
micholap_denis Дата: Пятница, 10.12.2021, 22:29 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
не интересно? слишком просто подозреваю...
 
Ответить
Сообщениене интересно? слишком просто подозреваю...

Автор - micholap_denis
Дата добавления - 10.12.2021 в 22:29
InExSu Дата: Воскресенье, 12.12.2021, 00:10 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 638
Репутация: 95 ±
Замечаний: 0% ±

Excel 2010
Цитата micholap_denis, 10.12.2021 в 16:19, в сообщении № 2 ()
чтоб срабатывало без кнопки а по вводу дат автоматом?


Привет!

Вставьте в код листа Отчет:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$D$4" Or _
      Target.Address = "$D$5" Then Отображать
End Sub
[/vba]


Переношу VBA на Google Apps Script, адаптирую VBA к Mac

Сообщение отредактировал InExSu - Воскресенье, 12.12.2021, 00:10
 
Ответить
Сообщение
Цитата micholap_denis, 10.12.2021 в 16:19, в сообщении № 2 ()
чтоб срабатывало без кнопки а по вводу дат автоматом?


Привет!

Вставьте в код листа Отчет:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$D$4" Or _
      Target.Address = "$D$5" Then Отображать
End Sub
[/vba]

Автор - InExSu
Дата добавления - 12.12.2021 в 00:10
micholap_denis Дата: Воскресенье, 12.12.2021, 11:24 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, спасибо.работает
 
Ответить
СообщениеInExSu, спасибо.работает

Автор - micholap_denis
Дата добавления - 12.12.2021 в 11:24
micholap_denis Дата: Воскресенье, 12.12.2021, 14:23 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu,
подскажите еще пожалуйста
если применяю к сводной таблице где поле дата не активирована....если шкалу применять то работает а если
код то выдает ошибку что невозможно получить свойство PivotFields класса Pivot Table
 
Ответить
СообщениеInExSu,
подскажите еще пожалуйста
если применяю к сводной таблице где поле дата не активирована....если шкалу применять то работает а если
код то выдает ошибку что невозможно получить свойство PivotFields класса Pivot Table

Автор - micholap_denis
Дата добавления - 12.12.2021 в 14:23
InExSu Дата: Воскресенье, 12.12.2021, 16:57 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 638
Репутация: 95 ±
Замечаний: 0% ±

Excel 2010
во вложении для листа Общая
К сообщению приложен файл: InExSu.xlsm(44.5 Kb)


Переношу VBA на Google Apps Script, адаптирую VBA к Mac
 
Ответить
Сообщениево вложении для листа Общая

Автор - InExSu
Дата добавления - 12.12.2021 в 16:57
micholap_denis Дата: Воскресенье, 12.12.2021, 17:35 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
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
[/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
[/vba]

Автор - micholap_denis
Дата добавления - 12.12.2021 в 17:35
micholap_denis Дата: Среда, 15.12.2021, 22:03 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
правда в макросах "ноль"... интуитивно могу применить но грамматикой написания не владею...подскажите пожалуйста
 
Ответить
Сообщениеправда в макросах "ноль"... интуитивно могу применить но грамматикой написания не владею...подскажите пожалуйста

Автор - micholap_denis
Дата добавления - 15.12.2021 в 22:03
Pelena Дата: Четверг, 16.12.2021, 07:18 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 18233
Репутация: 4096 ±
Замечаний: ±

Excel 2016 & Mac Excel
[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
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение[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
[/vba]

Автор - Pelena
Дата добавления - 16.12.2021 в 07:18
micholap_denis Дата: Четверг, 16.12.2021, 15:47 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, спасибо
 
Ответить
СообщениеPelena, спасибо

Автор - micholap_denis
Дата добавления - 16.12.2021 в 15:47
micholap_denis Дата: Понедельник, 20.12.2021, 15:07 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, Pelena,
приходиться возобновить тему...
подскажите пожалуйста
в сводной что на лисе Отчет которая создана из таблицы на листе Общая - работает (шкала времени введением дат)

а как быть, если сводная создана из Power Pivot (из модели данных) на листе 1....не работает макрос...ошибку выдает
К сообщению приложен файл: InExSu-1-.xlsm(192.8 Kb)
 
Ответить
СообщениеInExSu, Pelena,
приходиться возобновить тему...
подскажите пожалуйста
в сводной что на лисе Отчет которая создана из таблицы на листе Общая - работает (шкала времени введением дат)

а как быть, если сводная создана из Power Pivot (из модели данных) на листе 1....не работает макрос...ошибку выдает

Автор - micholap_denis
Дата добавления - 20.12.2021 в 15:07
micholap_denis Дата: Пятница, 24.12.2021, 09:12 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
кто нибудь поможет?
 
Ответить
Сообщениекто нибудь поможет?

Автор - micholap_denis
Дата добавления - 24.12.2021 в 09:12
Pelena Дата: Пятница, 24.12.2021, 09:39 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 18233
Репутация: 4096 ±
Замечаний: ±

Excel 2016 & Mac Excel
Немного другой подход.
Кстати, практически всё записал макрорекодер :)
К сообщению приложен файл: 7263264.xlsm(192.2 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНемного другой подход.
Кстати, практически всё записал макрорекодер :)

Автор - Pelena
Дата добавления - 24.12.2021 в 09:39
micholap_denis Дата: Пятница, 24.12.2021, 16:26 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
спасибо проверю отпишусь
 
Ответить
Сообщениеспасибо проверю отпишусь

Автор - micholap_denis
Дата добавления - 24.12.2021 в 16:26
micholap_denis Дата: Пятница, 24.12.2021, 21:46 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 208
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, спасибо все отлично!
 
Ответить
СообщениеPelena, спасибо все отлично!

Автор - micholap_denis
Дата добавления - 24.12.2021 в 21:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » шкала времени макросом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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