Tôi hiện đang sao chép toàn bộ trang tính từ Tệp A. vào tệp B. một số trang tính chỉ cần sao chép các giá trị và không có công thức. Có 1 bảng tính cụ thể mà tôi cần phải sao chép định dạng cùng với các công thức nhưng tôi không muốn các công thức tham khảo tệp gốc. tôi muốn nó tham khảo các tờ trong tập tin mới .. Làm thế nào tôi có thể sao chép các bảng tính/công thức và không tham khảo các tập tin ban đầu.Sao chép công thức excel mà không tham khảo trang tính trước trong vb.net
Dưới đây tôi có mã sao chép một trang tính và sau đó thay thế các công thức chỉ với các giá trị cho một trang tính.
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
báo lỗi khi cố gắng pasteformulas giải pháp của bạn
.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
End Nếu
Nếu các công thức tham chiếu tệp gốc cũng tham chiếu đến các trang bạn đã sao chép vào tệp mới, bạn có thể khắc phục sự cố của mình bằng cách sao chép tất cả các trang có liên quan trong một bản sao. Tôi không chắc chắn những gì tương đương vb.net là, nhưng trong VBA nó sẽ là một cái gì đó như 'xlWorkbookSource.Sheets (Array (" Sheet4 "," Sheet2 "," Sheet1 ")) Sao chép Sau: = xlWorkbookDestination.Worksheets (xlWorkbookDestination.Worksheets.Count)) ' – YowE3K