2011-05-09 295 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