Страницы: 1
RSS
Помогите дописать макрос перевода Формул в Значения
 
Здравствуйте.
Имеется потребность сохранять полученные с помощью формул данные как значение, но по условию.
Условие: заполненность соответствующих ячеек столбца А:А. Т.е. при наличии артикула в столбце А, по активации исполнения макроса формулы соответствующих ячеек пересечения строк с заполненными артикулами и столбцов стоимости (выделено серым) должны переводиться в значения.
Смотрите файл.
Макрос замены записал, но как добавить описанное условие не знаю...
Заранее спасибо!
 
Код
Sub Formulas_To_Values_Selection()
    For Each Row In Selection.Rows
        If Row.Cells(1, 1) <> "" Then
            Range(Row.Address) = Range(Row.Address).Value
        End If
    Next
End Sub
 
Т.е. в скобки "(Row.Address)" я должен прописать столбцы, в которых мне надо заменить формулы на значения?
Изменено: Max.Liubimov - 03.04.2018 18:21:56
 
Кто-то может подсказать, что нужно делать с макросом? Я добавил его в книгу, но нужные столбцы он не переводит в значения.
 
А где в примере формулы?
 
Для всех столбцов в таблице. Надеюсь, это не повредит данным )
Код
Sub Formulas_To_Values()
Dim i As Long, LastRow As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To LastRow
        If Cells(i, 1) <> "" Then
            With Range(Cells(i, 10), Cells(i, 25))
                .Value = .Value
            End With
        End If
    Next
End Sub

 
Цитата
Юрий М написал:
А где в примере формулы?
Ну формулы я удалил, но это ведь не так важно - они в столбцах, выделенных серым.
Цитата
Юрий М написал:
Для всех столбцов в таблице. Надеюсь, это не повредит данным )
К сожалению повредит. Мне необходимо конвертировать формулы в значения только для ячеек выделенных столбцов, по строкам которых есть заполнение артикулов.
 
Цитата
Max.Liubimov написал:
Ну формулы я удалил, но это ведь не так важно - они в столбцах, выделенных серым.
Конечно неважно - пусть помогающие сами придумывают формулы: проверить результат ведь как то нужно?
Цитата
Max.Liubimov написал:
необходимо конвертировать формулы в значения только для ячеек выделенных столбцов
Тогда два варианта:
- смотрите в сторону Union.
- перебирайте ячейки нужных столбцов циклом.
 
Цитата
Юрий М написал:
- смотрите в сторону Union.- перебирайте ячейки нужных столбцов циклом.
Будьте добры, расшифруйте пожалуйста :)
 
Лучше смотрите вариант с циклом, а про Union справка расскажет лучше меня ))
Код
Sub Formulas_To_Values()
Dim i As Long, LastRow As Long, j As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To LastRow
        If Cells(i, 1) <> "" Then
            For j = 10 To 25 Step 3
                Cells(i, j).Value = Cells(i, j).Value
            Next
        End If
    Next
End Sub

P.S. Что-то я засомневался по поводу Union ^)
Страницы: 1
Наверх