У меня есть столбец F, в котором постоянно меняются значения (в формуле присутствует функция СЛЧИС).
Необходимо скопировать значения из столбца F и перенести их в столбец справа как значения.
При следующем запуске макроса, значения столбца F должны копироваться в следующий пустой столбец и т.д.
Пользователь щёлкает кнопку, макрос пересчитывает формулы на листе, макрос копирует столбец F в следующий пустой столбец.
В конце работы макроса, формулы снова пересчитаются, поэтому в созданном столбце будут другие значения.
Т.е. сначала макрос пересчитывает, а затем одно из действий макроса ещё раз пересчитает.
Макрос
Sub Макрос()
Dim c As Long
' Отключение монитора и пересчёта формул.
' Необходимости в этом нет, сделано просто так.
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Пересчёт формул на активном листе.
ActiveSheet.Calculate
' Копирование столбца F в первый пустой столбец.
' Формулы заменяются на значения.
c = Cells(1, Columns.Count).End(xlToLeft).Column + 1
Columns("F").Copy
Cells(1, c).PasteSpecial xlPasteColumnWidths
Cells(1, c).PasteSpecial xlPasteFormats
Cells(1, c).PasteSpecial xlPasteValues
Application.CutCopyMode = False
' Включение пересчёта формул.
Application.Calculation = xlCalculationAutomatic
End Sub