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

时间:2018-04-05 11:52:26

标签: excel vba copy

我在下面的代码工作正常 - 但只缺少一件事。 在表格“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))))))))))"

1 个答案:

答案 0 :(得分:0)

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

请记住,您不需要在公式前加上工作表参考,但是您应该使用工作表参考来限定公式中使用的所有范围。