【发布时间】:2016-08-13 06:31:11
【问题描述】:
我目前将整个工作表从文件 A 复制到文件 B。一些工作表只需要复制值而不需要公式。有 1 个特定的工作表,我需要将格式与公式一起复制,但我不希望公式引用原始文件。我希望它引用新文件中的工作表。我如何复制工作表/公式而不引用原始文件。
下面我有复制工作表的代码,然后将公式只替换为一次性工作表的值。
xlWorksheetSource = xlWorkbookSource.Sheets(sheet.Name)
xlWorksheetSource.Copy(After:=xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count))
xlWorkDestSource = xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count)
ws = xlWorkDestSource
With ws.UsedRange
.Copy()
.PasteSpecial(Paste:=XlPasteType.xlPasteValues, _
Operation:=XlPasteSpecialOperation.xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False)
xlApp.CutCopyMode = False
End With
尝试您的解决方案粘贴公式时出错
.Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("BE4")) Is Nothing Then
BE4 = Target.Value
If BE4 = "X" Then
Worksheets("Invoice 2").Visible = xlSheetVisible
Exit Sub
End If
If BE4 = "" Then
Worksheets("Invoice 2").Visible = xlSheetVeryHidden
Exit Sub
End If
如果结束
【问题讨论】:
-
如果引用原始文件的公式也引用了您复制到新文件的工作表,您可以通过将所有相关工作表复制到一个副本中来解决您的问题。我不确定 vb.net 等价物是什么,但在 VBA 中它会类似于
xlWorkbookSource.Sheets(Array("Sheet4", "Sheet2", "Sheet1")).Copy After:=xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count))