前景提要
隨著時代的不斷發展,現在各行各業都非常強調團隊合作,協同作業,提高生產效率和質量,我們平時進行數據處理,數據校對的過程中也需要這樣的團隊合作,雖然科技在不斷的發展進步,但是有時候數據的錄入受限於場景等因素,還是需要手工操作的,手工錄入就不可避免的涉及輸入錯誤的情況,所以二次的數據核對是非常重要的,但是有時候數據非常的龐大,依靠個人去完成數據核對是非常慢的,但是一些數據又不便於共享出來,那這個時候如何實現團隊效益呢?
場景模擬
這裡我們依然借用我們上節的案例
這是我們的工作數據,裡面記載著所有銷售人員上月的銷售業績,這個時候財務再核對的時候,覺得有必要在進行核對一次,因為這些數據都是手工錄入的,但是發現,僅僅依靠自己想要短時間核對完數據是非常的困難的,而這種關鍵性的數據又不能放到公司共享讓銷售員自行核對,所以只能自己幾個管理層級的同事來幫忙核對,但是總表只有一個,大家公用一個表很容易亂,如果能夠按量拆分成獨立工作薄,一個人完成文檔在匯總就非常方便了
代碼區
來看看這樣的場景該如何用代碼來實現
Sub chai()
Dim rng As Range, sth As Worksheet, BookN As Workbook, pathn$
pathn = ActiveWorkbook.Path
Set sth = ActiveSheet
Set rng = Application.InputBox("請選擇表頭區域", "表頭區域的確定", , , , , , 8)
TitleR = rng.Rows.Count
TitleC = rng.Column
TitleColNum = rng.Columns.Count
num = InputBox("請輸入間隔拆分的行數")
l = ActiveSheet.Cells(Rows.Count, TitleR).End(xlUp).Row
CountR = l - TitleR
For i = TitleR + 1 To l Step num
k = k + 1
Workbooks.Add
Set BookN = ActiveWorkbook
rng.Copy BookN.Worksheets(1).Cells(1, 1)
sth.Activate
Range(Cells(i, TitleC), Cells(i + num - 1, TitleColNum-TitleR+1)).Copy BookN.Worksheets(1).Cells(TitleR + 1, 1)
BookN.SaveAs pathn & "\" & "第" & k & "次拆分"
BookN.Close False
Next i
End Sub
看看代碼的流程
首先依然是需要我們選擇指定的表頭範圍,在進行Excel數據處理的過程中,表頭是非常重要的,因為大家總是喜歡設置各種不同的表頭,雖然看起來很好看,但是等到了數據處理,數據分析的時候,表頭反而成為了硬傷
然後輸入我們要拆分的行數,這裡可以隨意輸入,比方說你有100個數據,你有4個人可以協助你,那就是按照25行進行拆分,當然你可以任性,隨意輸入一個數據20,都可以,不影響結果的,這裡我隨機輸入15
看看結果怎麼樣
拆分完畢,我們來抽檢下,因為15肯定不是平分的,我們直接看最後一個工作薄
數據非常完美,就算是最後一個不夠15個數據,也將剩餘的數據全部生成了一個獨立工作薄
代碼解析
實現了需求之後,我們來看看代碼
Set rng = Application.InputBox("請選擇表頭區域", "表頭區域的確定", , , , , , 8)
TitleR = rng.Rows.Count
TitleC = rng.Column
TitleColNum = rng.Columns.Count
這一段代碼就是幫助我們實現工作表表頭區域的獲取的,同時其中的inputbox函數,也讓我們通過自由靈活的輸入,和程序之間形成了交互,讓整個程序更加的靈活
num = InputBox("請輸入間隔拆分的行數")
l = ActiveSheet.Cells(Rows.Count, TitleR).End(xlUp).Row
有了上面的兩段代碼的輔助之後,我們就可以開始主程序了。
和昨天的方式一樣,這裡我們循環的方式依然是跳躍式的循環,按照拆分的行數來實現循環遍歷
每循環一次就要新建一個工作薄,然後將數據裝入新的工作薄中,並且保存複製重命名
Workbooks.Add'工作薄的創建
Set BookN = ActiveWorkbook
rng.Copy BookN.Worksheets(1).Cells(1, 1)'複製表頭
工作薄的創建就非常的簡單了,在進行工作薄的創建之後,我們順手將表頭複製過來,這樣使得新建的工作薄更加完整
表頭是哪裡?就是我們前面第一個窗體中選擇的區域,我們將它複製給了變量rng
然後我們就需要填充數據區域了。
數據區的構造還是和昨天一樣的,不太清楚的話,可以看看昨天文章的分析非常規路線的工作表拆分之按指定行數拆分工作表
或者是直接看下面的這個圖進行理解
現在就可以將這些獨立的工作薄分發出去,一人負責一部分,核對完了之後,有問題的再發給財務進行修改就可以了,大家都可以在自己的工作崗位進行操作,同時作業,效率提升很多。