一段簡單的VBA代碼,讓你自如操作Excel,成為職場達人!
拋磚引玉的場景需求: 工作中我們經(jīng)常需要將工作表數(shù)據(jù)進行拆分,將拆分的數(shù)據(jù)分別粘貼到新工作簿或者追加到已有工作簿中,或者將拆分的數(shù)據(jù)放到或者追加到當前工作簿中的某個表格中 ! 這就是工作表數(shù)據(jù)的拆分, 網(wǎng)路中有些插件可以幫助拆分數(shù)據(jù), 但是都不是很理想,數(shù)據(jù)場景變化多, 無法做到統(tǒng)一的拆分標準, 如果你會VBA就可以按照自己的思路隨心所欲的拆分工作表數(shù)據(jù)了。
本篇中采用VBA初學者們經(jīng)常用的思路:借用Excel自帶的篩選功能提取數(shù)據(jù),然后復制數(shù)據(jù)并粘貼到指定工作表中。
在標準模塊中加入如下代碼即可實現(xiàn)上面的演示功能。
Sub 拆分工作表() Dim sht2 As Worksheet Set sht2 = Sheets("Sheet2") '建立篩選器并設置篩選參數(shù) ActiveSheet.UsedRange.AutoFilter Field:=4, Criteria1:="女" '將篩選結(jié)果復制粘貼到指定sht2工作表的A1單元格中 ActiveSheet.UsedRange.Copy sht2.Range("A1") '取消篩選器 ActiveSheet.UsedRange.AutoFilter 'sht2工作表已用區(qū)域自動調(diào)整列寬 sht2.UsedRange.Columns.AutoFit '激活顯示sht2工作表 sht2.Activate Set sht2 = Nothing End Sub
如果上面的代碼,讓你覺得臃腫,你可以自由使用With... End With 結(jié)構(gòu)進行一定優(yōu)化。 有關(guān)該結(jié)構(gòu)介紹可詳見《神奇的VBA》插件!
Sub 拆分工作表() Dim sht2 As Worksheet Set sht2 = Sheets("Sheet2") With ActiveSheet.UsedRange .AutoFilter Field:=4, Criteria1:="女" .Copy sht2.Range("A1") .AutoFilter End With sht2.UsedRange.Columns.AutoFit sht2.Activate Set sht2 = Nothing End Sub
動手試一試,屏幕前的你, 復制代碼運行下吧~~!
自動化執(zhí)行時, 我們希望工作表也自動化創(chuàng)建。 上面的案例中,我們希望將性別男和女的數(shù)據(jù)分別放到【男職員信息表】和【女職員信息表】中。
那應該怎么操作呢? 請見下篇代碼示例!
有關(guān)Excel VBA編程知識(職場牛人必備秘技),可下載安裝使用一款優(yōu)秀職場人必備的工具《神奇的VBA》插件,一款嵌入進Excel Ribbon界面,打開任意Excel工作簿就能隨時查閱學習VBA編程的Excel 插件。
插件下載地址戳下面鏈接:
《神奇的VBA》選項卡樣式
神奇的VBA使用演示圖
聯(lián)系客服