修改Excel中范围内的多个公式

时间:2017-09-19 10:13:45

标签: excel vba sendkeys

我已经找到了如何将字符添加到现有公式的答案。在这里我添加" / 1000"在O31范围内的现有公式的末尾:R36。

Sub formatCells()
    For Each cell In Worksheets("Comparison").Range("O31:R36")
        cell.Formula = cell.Formula & "/1000"
    Next cell
End Sub

当我尝试制作宏来撤消更改时出现问题。我尝试使用SendKeys方法,但结果不好。当我想模拟在Excel工作表中按F2时,此代码块在VBA中打开对象浏览器。那我怎么能把密钥发送到工作表呢?我正在使用Excel 2010。

Sub unFormatCells()
    For Each cell In Worksheets("Comparison").Range("O31:R36")
        ActiveCell.Application.SendKeys "{F2}"
        ActiveCell.Application.SendKeys "{BS 5}"
    Next cell
End Sub

1 个答案:

答案 0 :(得分:0)

<强>解决方案:

Sub unFormatCells()    
    For Each cell In Worksheets("Comparison").Range("O31:R36")
         cell.Formula = Replace(cell.Formula, "/1000", "")
         cell.NumberFormat = "#,##0"
    Next cell
End sub