Страницы: 1
RSS
В активной книге оставить только значения в определенных столбцах на всех листах, кроме исключаемых листов, Vba
 
Здравствуйте
Каким кодом можно оставить только значения(удалить формулы) в диапазоне C:N на всех листах, кроме листов итог и итог2 ?
Диапазон и названия листов({"итог","итог2"}) жестко без излишеств прописать в коде.
Макрос будет в отдельной открытой книге, а запуск макроса и результат будет в активной книге.
Прошу помочь
 
Цитата
Михаил Л написал:
Прошу помочь
Пожалуйста
VBA Excel. Перебор листов в книге
Макросы VBA Excel для замены формул на значения
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Sanja, спасибо!
Макрос собрал из нашедшего. Однако как-то долго работает.
Как быстрее оставить в диапазоне только значения?
Код
Sub Macro1()
Dim iList As Variant
Dim sh As Object
iList = Array("итог", "итог2")
  For Each sh In Sheets

    If IsError(Application.Match(sh.Name, iList, 0)) Then
        Sheets(sh.Name).Activate
        ActiveSheet.Range("C:N").Value = ActiveSheet.Range("C:N").Value
    End If
  Next
 
End Sub
 
1. Листы можно не Активировать
Код
With Sheets(sh.Name)
  .Range("C:N").Value = .Range("C:N").Value
End With

2. У Вас точно столбцы "C:N" заполнены полностью? Все > миллиона строк?
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
Sanja, спасибо!
Цитата
Sanja написал:
Все > миллиона строк?
нет, не более 200 строк. Я сужу диапазон.
а это быстро отработает - ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value  ?
 
Цитата
Михаил Л написал:
, 0)
ноль за что отвечает?
Изменено: Михаил Л - 13.02.2024 10:25:07
 
Цитата
Михаил Л написал:
а это быстро отработает
А самому попробовать?
Про ноль - это Вы о чем?
Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
 
спасибо!
Страницы: 1
Наверх