移动公式的简单方法
Easy way to move formulas
任何人都知道将公式从一个作品sheet 移动到另一个作品sheet,同时保持其位置和作品sheet 信息的快速简便方法。我有一个预算 sheet 可以在一列中搜索输入的最后一位数据,但是该列中的公式会干扰脚本。我使用的脚本是这样的:
Sub LastRowInOneColumn()
'Updateby20150305
Dim xLastRow As String
With Application.ActiveSheet
xLastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
MsgBox xLastRow
End Sub
我什至可以将它们移动到同一个工作中的新位置sheet,但它们只需要保持它们的单元位置即可。有什么简单的方法可以一次全部移动吗?
通常当您将公式从一个单元格复制到另一个单元格时,Excel 会尝试通过调整单元格引用来 "help" 您。例如,假设我们在 Sheet1 的单元格 E1 中有公式:
=A1+A2
我们将其复制到 Sheet2 单元格 E2 我们得到:
=A2+A3
所以粘贴的公式调整了单元格并引用了新单元格 sheet!
我们可以使用以下方法解决第二个问题:
=Sheet1!A1+Sheet1!A2
在 Sheet1 中。我们可以使用:
而不是将公式从一个单元格复制到另一个单元格
Sub ExactCopyFormula()
Sheets("Sheet2").Range("E2").Formula = Sheets("Sheet1").Range("E1").Formula
End Sub
编辑#1:
这是在指定范围内循环的代码:
Sub Copy2()
Dim r As Range
Application.ScreenUpdating = False
For Each r In Sheets("Sheet1").Range("A1:D9000")
addy = r.Address(0, 0)
Sheets("Sheet2").Range(addy).Formula = r.Formula
Next r
Application.ScreenUpdating = True
End Sub
任何人都知道将公式从一个作品sheet 移动到另一个作品sheet,同时保持其位置和作品sheet 信息的快速简便方法。我有一个预算 sheet 可以在一列中搜索输入的最后一位数据,但是该列中的公式会干扰脚本。我使用的脚本是这样的:
Sub LastRowInOneColumn()
'Updateby20150305
Dim xLastRow As String
With Application.ActiveSheet
xLastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
MsgBox xLastRow
End Sub
我什至可以将它们移动到同一个工作中的新位置sheet,但它们只需要保持它们的单元位置即可。有什么简单的方法可以一次全部移动吗?
通常当您将公式从一个单元格复制到另一个单元格时,Excel 会尝试通过调整单元格引用来 "help" 您。例如,假设我们在 Sheet1 的单元格 E1 中有公式:
=A1+A2
我们将其复制到 Sheet2 单元格 E2 我们得到:
=A2+A3
所以粘贴的公式调整了单元格并引用了新单元格 sheet!
我们可以使用以下方法解决第二个问题:
=Sheet1!A1+Sheet1!A2
在 Sheet1 中。我们可以使用:
而不是将公式从一个单元格复制到另一个单元格Sub ExactCopyFormula()
Sheets("Sheet2").Range("E2").Formula = Sheets("Sheet1").Range("E1").Formula
End Sub
编辑#1:
这是在指定范围内循环的代码:
Sub Copy2()
Dim r As Range
Application.ScreenUpdating = False
For Each r In Sheets("Sheet1").Range("A1:D9000")
addy = r.Address(0, 0)
Sheets("Sheet2").Range(addy).Formula = r.Formula
Next r
Application.ScreenUpdating = True
End Sub