与VBA一起使用时,请使用工作表的绝对命名

我有以下问题:在我的一个excel文件中,我有以下工作表:我有一些公式,一个与当前月份的数据(从其他来源复制和粘贴到那里),一个几个作为某种档案使用的工作表。

我使用一个小的VBAmacros将数据从当前月份移动到归档中。

Sheets("Aktueller Monat").Cells.Cut Sheets("1").Activate Range("A1").Select ActiveSheet.Paste 

它的移动部分工作正常。 现在的问题是,每次我将当前月份移动到归档中时,它会更新我的计算表中的所有公式,以便它们现在引用归档(我不想这样做,因为公式应该计算新的当前值月代替)

例如,这个

 =ZÄHLENWENN('Aktueller Monat'!$C:$C;"RSS*") 

变成这个

 =ZÄHLENWENN('1'!$C:$C;"RSS*") 

我不想这样

有谁能够帮助我?

而不是使用CutPaste ,使用CopyPaste ClearContents ,其次是ClearClearContents 。 在下面的示例中,我粘贴值和数字格式,但是您可以使用XlPasteType枚举的不同值将其调整为您的需要:

 Dim oSourceRange As Range, oTargetRange As Range Set oSourceRange = Worksheets("Aktueller Monat").UsedRange Set oTargetRange = Worksheets("1").Range("A1") oSourceRange.Copy oTargetRange.PasteSpecial xlPasteValuesAndNumberFormats oSourceRange.ClearContents