【问题标题】:VBA "=active cells" from another work sheet另一个工作表中的 VBA“=活动单元格”
【发布时间】:2020-09-17 08:57:25
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: excel vba formula cell


    【解决方案1】:

    改变例如

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多