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

Страницы: 1
Применение макроса к АКТИВНОЙ сводной таблице
 
Смешно получилось:)
Спасибо Вам, буду проверять.
Применение макроса к АКТИВНОЙ сводной таблице
 
Большое спасибо!
Всё работает, как нужно.

А подскажите, есть ли подобный универсальный макрос к полю сводной таблицы?
Чтобы данный макрос (с выводом формата, а также функцией агрегации данных):
Код
Sub Макрос5()
    With ActiveSheet.PivotTables("Сводная таблица4").PivotFields("Среднее по полю Dev")
        .Caption = "Сумма по полю Dev"
        .Function = xlSum
        .NumberFormat = "# ##0"
    End With
End Sub
работал не только с полем "Среднее по полю Dev", а с тем полем, которые выделил пользователь мышкой.

Т.е. выделяешь мышкой поле, нажимаешь сочетание клавиш назначенное под макрос и макрос выполняется по этому выделенному полю.
Или так нельзя сделать?
Изменено: SnowLs - 13.12.2017 16:43:15
Применение макроса к АКТИВНОЙ сводной таблице
 
Добрый день!

Макрорекордером записал макрос, который форматирует сводную таблицу как мне нужно:
Код
Sub Макрос1()
    With ActiveSheet.PivotTables("Сводная таблица 1")
        .ColumnGrand = False
        .HasAutoFormat = False
        .RowGrand = False
    End With

    ActiveSheet.PivotTables("Сводная таблица 1").ShowDrillIndicators = False
    ActiveSheet.PivotTables("Сводная таблица 1").RowAxisLayout xlTabularRow
End Sub
Вопрос: как сделать данный макрос универсальным, т.е. применять не к сводной с названием "Сводная таблица 1", а к той, которая активна (т.е. к той, на которой находится активная ячейка).
Может есть что-то вроде "ActiveSheet", но только к сводной, типа "ActivePivot"?

Поиск в интернете не дал понятного решения.

Спасибо!
Макрос. Перевод из текстового в числовой формат.
 
Цитата
kuklp написал:
Private Sub CommandButton1_Click()    Dim a As Range    For Each a In [J:J].SpecialCells(2, 2).Areas        a.Replace ".", "", 2: a.FormulaLocal = a.FormulaLocal    NextEnd Sub
Протестировал на всём массиве данных.
Работает!
Спасибо за красивое решение, выглядит гораздо лучше, чем у меня.

Вопрос решен.
Макрос. Перевод из текстового в числовой формат.
 
Цитата
Александр L написал:
http://www.planetaexcel.ru/techniques/7/1091/

возможно вам эта статья подскажет.
Александр, спасибо за ссылку, просмотрел, мне нужен макрос, значит это способ 6 с таким кодом:
Код
Sub Convert_Text_to_Numbers()
    Selection.NumberFormat = "General"
    Selection.Value = Selection.Value
End Sub

Он не работает.

Также не работает способ, который Alex ST предложил в комментариях к той статье.

К сожалению вот такая ситуация.

Макрос. Перевод из текстового в числовой формат.
 
Цитата
kuklp написал:
Private Sub CommandButton11_Click()    With [J:J].SpecialCells(2, 2)
Проверял работоспособность данного кода и ... он действительно работал... пока я не поставил 0 в одну из ячеек в столбце (прикрепил данный пример+Ваш макрос внутри).
SpecialCells(2, 2) в этом случае перестает выполнять то, что необходимо, а выдает вот что: http://prnt.sc/ee2s0s

Что бы изменить, чтобы верно работало?
Изменено: SnowLs - 27.02.2017 20:56:53
Макрос. Перевод из текстового в числовой формат.
 
Доброго дня!
Заменил свой макрос Вашим.

У меня сработал вот так (тоже неверно):
http://prnt.sc/edzop9
Что не так?

P.s. Если это важно: у меня по умолчанию разделитель дробной и целой части стоит запятая.
Макрос. Перевод из текстового в числовой формат.
 
Спасибо за решение, однако у меня оно не работает.
Вот что получается:
http://prnt.sc/edyum4
Файл с макросом по Вашему решению приложил.

P.s. Через меню всё работает четко, а вот макрос уже не работает, как нужно.
Изменено: SnowLs - 27.02.2017 19:21:26
Макрос. Перевод из текстового в числовой формат.
 
Всем доброго дня!
Есть вопрос, подскажите пожалуйста.

Нужно перевести текст в столбце J в числа.
Файл с данными и макросом приложил. Макрос привязан к кнопке (находится на уровне столбца X).

Код макроса:
Код
    Columns("J").SpecialCells(xlCellTypeConstants, xlTextValues). _
    Replace What:=".", Replacement:="", LookAt:=xlPart                  'убираю точки

    Columns("J").Select
    Selection.TextToColumns                                             'форматирую как число
   
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False                                            'меняю точки на запятые
    
    Selection.TextToColumns                                             'форматирую как число

Код, сразу говорю, работает. Однако работает за 4 итерации, что на мой взгляд избыточно.
Можно ли сделать элегантнее/правильнее за 1 действие?
Интересует решение именно для файла, который приложен.
Страницы: 1
Наверх