将值从一个工作表复制到另一个工作表文件
前两行,我有它循环复制到另一个文件完整的工作表。这是好的,因为我想要的格式,但不是链接回到原来的文件,它只从值复制只。 第二部分被注释掉了,因为它只会复制这些值。但是我希望格式被复制,因为它的前两行只有值。 我怎么能结合这..我看了其他的例子,我似乎无法得到一个工作的答案。 谢谢
xlWorksheetSource = xlWorkbookSource.Sheets(sheet.Name) xlWorksheetSource.Copy(After:=xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count)) 'xlWorksheetSource.UsedRange.Copy() 'xlWorkDestSource = xlWorkbookDestination.Worksheets.Add() 'xlWorkDestSource.UsedRange._PasteSpecial(XlPasteType.xlPasteValues, XlPasteSpecialOperation.xlPasteSpecialOperationNone, False, False) 'xlWorkDestSource.Name = sheet.Name
这将工作来粘贴单元格格式和值:
xlWorksheetSource.UsedRange.Copy() xlWorkDestSource = xlWorkbookDestination.Worksheets.Add() xlWorkDestSource.Range("A1").PasteSpecial xlPasteAllUsingSourceTheme xlWorkDestSource.Range("A1").PasteSpecial xlPasteValues
如果你只需要值和数字格式,你可以这样做:
xlWorksheetSource.UsedRange.Copy() xlWorkDestSource = xlWorkbookDestination.Worksheets.Add() xlWorkDestSource.Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
更新
要使用合并的单元格,这将工作。 可能有更好/更快的方法
xlWorksheetSource = xlWorkbookSource.Sheets(sheet.Name) xlWorksheetSource.Copy(After:=xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count)) xlWorkDestSource = xlWorkbookDestination.Worksheets(xlWorkbookDestination.Worksheets.Count) For each cel in xlWorkDestSource.UsedRange cel.MergeArea.Value = cel.MergeArea.Value Next
*请注意,我没有资格任何对象,因为你没有在你的代码中,但它绝对是一个最佳实践。