VBA——合併工作表及工作表單獨儲存的功能
阿新 • • 發佈:2019-01-07
沿用上一篇關於拆分excel工作表的文章的引子,本文分享下多個工作表合併的VBA功能。案例仍使用上篇文章的例子。已知有BS、HR等多個部門,分別存放在獨立的以部門命名的工作表中,現需要將多個部門的工作表合併為包含所有部門的一張工作表。
實現程式碼如下:
Sub MergeToOneSheet() '取表頭 Range("A1:D1") = Sheets(2).Range("A1:D1").Value '計算工作表數量 x = Sheets.Count '從第二個工作表迴圈 '第一個工作表是新建待合併總表 For i = 2 To x '第i個工作表最後一個非空白行 rn1 = Sheets(i).Range("A30").End(xlUp).Row '待合併完成總表的最後一個非空白行 rn2 = Range("A30").End(xlUp).Row '第i個表第二行到第rn1行拷貝 Sheets(i).Range("A2:D" & rn1).Copy _ '貼上至總表 Range ("A" & rn2 + 1) Next End Sub
有時候需要將工作表單獨儲存,在手工條件下,一個一個按照製作副本然後另存,是醬紫的:
表多的時候,一個一個操作再儲存會很繁瑣,但是VBA可以很輕鬆的實現此功能。依舊按照之前的文件為例,程式碼如下:
Public Sub chaifen() Dim sht As Worksheet Dim mb As Workbook Set mb = ActiveWorkbook '迴圈工作表 For Each sht In mb.Sheets '拷貝工作表 sht.Copy '獨立儲存位置在桌面"example"資料夾 ActiveWorkbook.SaveAs Filename:="C:\Users\xj\Desktop\example" _ & "\" & sht.Name, FileFormat:=xlNormal ActiveWorkbook.Close Next End Sub
點看桌面“example”檔案,所有工作表已經完成獨立儲存,檔名稱也都已經以工作表的名稱來命名。
歡迎大家關注本人微信公眾號,公眾號將持續更新python,tableau,SQL等資料分析的文章。
ID:
公眾號名稱: