来自另一个工作表的VBA“ =活动单元”

问题描述

我正在尝试使用VBA更新新工作表中的单元格,以使另一个工作表中的计划中的活动单元格相等。

我尝试了以下代码的许多变体,但目前,我仅设法复制了单元格值。我正在尝试将新工作表中的单元格更新为与原始单元格相同,就像直接在单元格中输入“ = SheetX!A1”一样。

Worksheets("Template").Visible = True
Sheets("Template").copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "NewName"

ThisWorkbook.Worksheets("Tech_Sub_Reg").Activate


Dim R As Range
Dim S As Range
Dim I As Range
Dim B As Range

Set R = ActiveCell
Set S = ActiveCell.Offset(0,1)
Set I = ActiveCell.Offset(0,2)
Set B = ActiveCell.Offset(0,3)

Sheets("NewName").Range("A125").Formula = R
Sheets("NewName").Range("B125").Formula = S
Sheets("NewName").Range("C125").Formula = I
Sheets("NewName").Range("D125").Formula = B

解决方法

更改例如

Sheets("NewName").Range("A125").Formula = R

Sheets("NewName").Range("A125").Formula = "=" & R.Address(External:=True)

如果您还想从公式中删除工作簿名称,请用上一行替换"=" &之后的内容

Replace(R.Address(External:=True),"[" & R.Parent.Parent.Name & "]","",1,-1,vbTextCompare)