一個(gè)Excel工作簿中有N張sheet表,我們現在需要把它們都合并到一張表中。怎么做呢?
如果一個(gè)一個(gè)表復制粘貼太慢了。也有這3種方法可以:公式鏈接、Microsoft Query和Power Query。其中用公式的方法會(huì )因為有太多公式而拖慢表格速度,而被很多Excel高手視為法寶的Power query,昨天我測試合并5個(gè)表時(shí)直接卡死。速度很慢.....而如果是下面的形式呢:
在合并表中點(diǎn)一下按鈕,瞬間完成多張sheet表的合并
上面的這種操作是不是你最想要的?那么就交個(gè)大家吧
操作步驟:
一、在合并名稱(chēng)Sheet工作表右鍵 -點(diǎn)擊查看代碼
二、在彈出的窗口執行插入 - 模塊,然后把下面的代碼粘貼到右面的窗口中,然后關(guān)閉該窗口
Sub 合并()
Dim x As Integer, K As Integer
Sheets('合并').Cells.Clear
For x = 1 To 11
K = Application.CountA(Sheets('合并').[a:a]) + 1
Sheets(x).UsedRange.Copy Sheets('合并').Cells(K, 1)
Next x
End Sub
代碼的意思請記一下:
Sub 合并()
Dim x As Integer, K As Integer
聲明變量
Sheets('合并').Cells.Clear
合并單元格之前把當前表中數據清除
For x = 1 To 11
在所有表格中循環(huán),1是第一個(gè)Sheet的名稱(chēng),11是最后一個(gè)Sheet的名稱(chēng),
可以自定義名稱(chēng)沒(méi)有要求
K = Application.CountA(Sheets('合并').[a:a]) + 1
調用Counta函數統計合并表格的總行數+1是下面第一個(gè)空行的行數
Sheets(x).UsedRange.Copy Sheets('合并').Cells(K, 1)
一個(gè)一個(gè)把Sheet表格的數據粘貼到合并的表格中
Next x
End Sub
這些看不懂?沒(méi)有關(guān)系的,你復制粘貼代碼就行了,有兩個(gè)地方你可以自定義修改:
1、For x =1to11 這里1和11是表格前后序號,你可以設置合并的范圍。
2、Sheets('合并') 這里的合并是總表的名稱(chēng),你的Excel文件中需要有這個(gè)一個(gè)表,你也可以自定義一個(gè)名稱(chēng)。
三、、開(kāi)發(fā)工具 - 拖畫(huà)出一個(gè)按鈕 - 彈出的指定宏窗口中選取合并 - 確定 - 修改按鈕標題。
四、文件另存為“Excel 啟用宏的工作簿”格式,才可以

聯(lián)系客服