Мне нужно как-то автоматизировать следующий процесс для новых файлов. Т.е действия будут совершаться всегда в разных файлах.
Вот сама задача: 1. Нужно выделить определенный столбец с числами и заменить в них . точки на , запятые. Потому как файл изначально в таком формате. 2. Выделенные ячейки с числами переделать в формат Валюта, $. 3. Далее создать 3 правила для выделения другим цветом чисел - до 10$ один цвет - от 10$ до 15$ второй цвет - от 15 и выше третий цвет
Есть ли вообще какой-нибудь способ это сделать? С макросами не дружу, но если нет другого выхода буду изучать. Слишком долго это все делать вручную.
Мне нужно как-то автоматизировать следующий процесс для новых файлов. Т.е действия будут совершаться всегда в разных файлах.
Вот сама задача: 1. Нужно выделить определенный столбец с числами и заменить в них . точки на , запятые. Потому как файл изначально в таком формате. 2. Выделенные ячейки с числами переделать в формат Валюта, $. 3. Далее создать 3 правила для выделения другим цветом чисел - до 10$ один цвет - от 10$ до 15$ второй цвет - от 15 и выше третий цвет
Есть ли вообще какой-нибудь способ это сделать? С макросами не дружу, но если нет другого выхода буду изучать. Слишком долго это все делать вручную.hugitto
Т.е действия будут совершаться всегда в разных файлах. Есть ли вообще какой-нибудь способ это сделать?
Да есть. Макросы размещаются в специальной книге "Личная книга макросов" Вызываются в любой книге с помощью пользовательских кнопок на панели быстрого доступа, или на ленте. К вашему первому посту, надо приложить образцы файлов , обработку которых надо будет автоматизировать с подробным описанием того что и где должно быть выполнено с помощью макроса.
Т.е действия будут совершаться всегда в разных файлах. Есть ли вообще какой-нибудь способ это сделать?
Да есть. Макросы размещаются в специальной книге "Личная книга макросов" Вызываются в любой книге с помощью пользовательских кнопок на панели быстрого доступа, или на ленте. К вашему первому посту, надо приложить образцы файлов , обработку которых надо будет автоматизировать с подробным описанием того что и где должно быть выполнено с помощью макроса.al-Ex
Сообщение отредактировал al-Ex - Среда, 09.03.2016, 20:22
К вашему первому посту, надо приложить образцы файлов , обработку которых надо будет автоматизировать с подробным описанием того что и где должно быть выполнено с помощью макроса.
Файл прикрепил.
Отступление: Шапка остается неизменной, а вниз строки могут добавляться в новых версиях файла (как я сказал файлы будут всегда разные, столбцы меняться не будут а вот строки скорей всего будут).
Вот что нужно сделать:
1. Нужно выделить ячейки в столбце D с числами и заменить в них . точки на , запятые. 2. Выделенные ячейки с числами переделать в формат Валюта, американский $, 1 знак после запятой. 3. Далее создать 3 правила для выделения другим цветом чисел в столбце D - от 0,1$ до 10$ зеленый цвет - от 10,1$ до 15$ оранжевый цвет - от 15,1$ и выше красный цвет 4. Числа в столбце C сделать без точки, цельными. Можно использовать Поиск и замену (я делал так: в поле Найти писал .0, а в поле Заменить на удалял ВСЕ символы)
К вашему первому посту, надо приложить образцы файлов , обработку которых надо будет автоматизировать с подробным описанием того что и где должно быть выполнено с помощью макроса.
Файл прикрепил.
Отступление: Шапка остается неизменной, а вниз строки могут добавляться в новых версиях файла (как я сказал файлы будут всегда разные, столбцы меняться не будут а вот строки скорей всего будут).
Вот что нужно сделать:
1. Нужно выделить ячейки в столбце D с числами и заменить в них . точки на , запятые. 2. Выделенные ячейки с числами переделать в формат Валюта, американский $, 1 знак после запятой. 3. Далее создать 3 правила для выделения другим цветом чисел в столбце D - от 0,1$ до 10$ зеленый цвет - от 10,1$ до 15$ оранжевый цвет - от 15,1$ и выше красный цвет 4. Числа в столбце C сделать без точки, цельными. Можно использовать Поиск и замену (я делал так: в поле Найти писал .0, а в поле Заменить на удалял ВСЕ символы)hugitto
Исходя из форумского правила "одна тема - один вопрос", отвечу на первый (а так это похоже на ТЗ, а не на помощь)[vba]
Код
Sub tt() Dim arr(), I As Long With Range("D7:D" & Cells(Rows.Count, "D").End(xlUp).Row) .Replace what:=".", replacement:="," arr = .Value For I = 1 To UBound(arr) arr(I, 1) = Val(arr(I, 1)) Next .NumberFormat = "[$$-409]#,##0.00" .Value = arr End With End Sub
[/vba]
Исходя из форумского правила "одна тема - один вопрос", отвечу на первый (а так это похоже на ТЗ, а не на помощь)[vba]
Код
Sub tt() Dim arr(), I As Long With Range("D7:D" & Cells(Rows.Count, "D").End(xlUp).Row) .Replace what:=".", replacement:="," arr = .Value For I = 1 To UBound(arr) arr(I, 1) = Val(arr(I, 1)) Next .NumberFormat = "[$$-409]#,##0.00" .Value = arr End With End Sub
Извиняюсь, но валюта некорректно обрабатывается. После запятой всегда оказывается 0, а как сделать чтобы показывались десятичные числа вида, 33,4; 12,5. Видимо округление идет в пользу целого числа, а нужно чтобы округлялись десятичные числа.
Извиняюсь, но валюта некорректно обрабатывается. После запятой всегда оказывается 0, а как сделать чтобы показывались десятичные числа вида, 33,4; 12,5. Видимо округление идет в пользу целого числа, а нужно чтобы округлялись десятичные числа.hugitto
Sub ttt() With Range("D7", Cells(Rows.Count, 4).End(xlUp)) .NumberFormat = "[$$-409]#,##0.0" .Value = Evaluate(.Address & "* 1") End With With Range("C7", Cells(Rows.Count, 3).End(xlUp)) .NumberFormat = "0" .Value = Evaluate(.Address & "* 1") End With
Cells.FormatConditions.Delete With Range("D7", Cells(Rows.Count, 4).End(xlUp)).FormatConditions With .Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:="=15,1") .Font.Color = vbRed End With With .Add(Type:=xlCellValue, Operator:=xlBetween, Formula1:="=0,1", Formula2:="=10") .Font.Color = vbGreen End With With .Add(Type:=xlCellValue, Operator:=xlBetween, Formula1:="=10,1", Formula2:="=15") .Font.Color = -16727809 End With End With End Sub
[/vba]
[offtop]hugitto - это маленький Hugo? :)[/offtop]
hugitto, попробуйте так: [vba]
Код
Sub ttt() With Range("D7", Cells(Rows.Count, 4).End(xlUp)) .NumberFormat = "[$$-409]#,##0.0" .Value = Evaluate(.Address & "* 1") End With With Range("C7", Cells(Rows.Count, 3).End(xlUp)) .NumberFormat = "0" .Value = Evaluate(.Address & "* 1") End With
Cells.FormatConditions.Delete With Range("D7", Cells(Rows.Count, 4).End(xlUp)).FormatConditions With .Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:="=15,1") .Font.Color = vbRed End With With .Add(Type:=xlCellValue, Operator:=xlBetween, Formula1:="=0,1", Formula2:="=10") .Font.Color = vbGreen End With With .Add(Type:=xlCellValue, Operator:=xlBetween, Formula1:="=10,1", Formula2:="=15") .Font.Color = -16727809 End With End With End Sub
[/vba]
[offtop]hugitto - это маленький Hugo? :)[/offtop]nilem