2011-05-09 108 views
1

嘿家伙, 我有一个小问题。 我有一张名为“main”的表,它从另一个名为“data”的文件表中获取值。 当我激活“ActiveSheet.copy”(在“主”文件中)时,它复制工作表,但使用单元格链接。 我想知道是否有任何方法只复制工作表的值?第二,我的“主”表单有一些合并的单元格,所以即使我手动复制&通过选择一个范围来粘贴表单,由于合并的单元格,它不能被复制。ActiveSheet.copy问题(vba,excel)

P.S.我希望我解释得很好 - 因为你可以看到英语不是我的第一语言。

谢谢

回答

2

退房你得到PasteSpecial选项:

  • :这不会复制链接,刚刚值
  • 所有边框除外:这将保留合并单元格格式

示例 - 假设你要到工作表Sheet1复制到表2,其中表1已合并单元格

  • 在Sheet1中按CTRL + A选择所有,然后CTRL + C复制
  • 在Sheet2中选择单元格A1
  • 现在右键点击选择Paste Special...
  • 在该对话框中选择All except borders...

更新 - VBA

Sub CopyWithMergedCells() 
    ActiveSheet.Cells.Copy //select all cells on sheet1 and copy 
    Worksheets("Sheet2").Select 
    Cells.Select //select all cells on sheet2 
    Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, SkipBlanks:=False, Transpose:=False //paste with formats preserved 
End Sub 

Paste:=xlPasteAllExceptBorders是关键位。你需要改变这个,如果你只想复制值(而不是链接)

+0

他们是一种用VBA做到这一点的方法? – 2011-05-10 09:53:51

+0

看到编辑答案...最好的选择是使用宏记录器,然后修改代码,因为你需要它... – 2011-05-10 10:21:16