问题描述
我正在尝试使用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)