修改值而不创建新列

时间:2014-06-13 11:54:51

标签: excel excel-vba vba

我想用一个引用单元格本身的公式的结果替换一个单元格的值。我试图允许循环引用(1个循环),但它没有帮助。

假设我在单元格A1(以及下面的单元格)中有一个数字,我想用以下公式替换它的内容:=A1/60(对于列的其余部分也是如此)。

当然我可以用一个新的列来做到这一点,但我想在不插入新列的情况下实现这一目标。或者也许创建一些自动化,在远处添加一个新的,然后删除它。

2 个答案:

答案 0 :(得分:3)

  • 在某个单元格中输入60并复制它。
  • 选择ColumnA ..... 文件 .... 剪贴板 ..... 粘贴 - 选择性粘贴
  • 然后检查除以,按确定

答案 1 :(得分:1)

选择要更改的单元格并运行此小宏:

Sub FormulaMaker()
    Dim V As Variant
    Dim r As Range
    For Each r In Selection
        V = r.Value
        If V = "" Then V = 0
        r.Formula = "=" & V & "/60"
    Next r
End Sub

宏非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除宏:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 要使用Excel中的宏:

      1. ALT-F8
      2. 选择宏
      3. 触碰RUN
      4. 要了解有关宏的更多信息,请参阅:

        http://www.mvps.org/dmcritchie/excel/getstarted.htm

        http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

        必须启用宏才能使其生效!

相关问题