将单元格复制到另一个工作表时,将引用保留在公式中



我下面的代码运行良好 - 但只缺少一件事。在工作表"Opgørsel"中,我有一个数据库,公式将其拖入并计算 - 当我让宏运行时,它找不到数据库 - 我的问题是这样,如何让公式在工作表"Opgørsel"中找到数据库时复制它们?我应该更改或修改什么?

Sub Copypastemeddata()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim sourceCell As Range
    Dim targetSheet As Worksheet
    Dim StartRow As Integer
    Application.ScreenUpdating = False
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("Opgørsel")
    Set sourceCell = ws.Range("D3")  'Cell with sheet names for copying to
    StartRow = 1    'Destination row on targetSheet
    With ws
          Set targetSheet = wb.Worksheets(sourceCell.Text)
         .Range("A1").CurrentRegion.Copy
         targetSheet.Range("A" & StartRow).Insert shift:=xlDown
         targetSheet.Columns.AutoFit
    End With
    Application.CutCopyMode = 0
    Application.ScreenUpdating = True
End Sub

这是我的公式HVIS=IF function - 它不会这样做。

=HVIS(B7=$A$34;"";HVIS(B7=$A$33;"";HVIS(B7=$A$35;2*3,14*F7*I7;HVIS(B7=$A$36;
3,14*F7*I7;HVIS(B7=$A$37;SUM(C7:F7)*I7;HVIS(B7=$A$38;(C7+D7)*2*I7;HVIS(B7=$A$39;
C7*I7;HVIS(B7=$A$40;I7*C7;HVIS(B7=$A$41;SUM(C7:E7)*I7;HVIS(B7=$A$42;(C7+D7)*I7))))))))))"

为什么不在源表中,使用源表引用限定公式中的所有范围?这样,工作表引用也将与公式一起复制到新工作表中。例如,在工作表opgørsel上,如果有一个公式说=A2,请将其更改为=opgørsel!A2,以便在将公式单元格复制到另一个工作表时,它将复制公式以及工作表引用。这就是你想要实现的目标吗?

请记住,您只需要在公式前面加上工作表引用,但您应该使用工作表引用限定公式中使用的所有范围。

最新更新