亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VBA實(shí)現(xiàn)按合并單元格拆分Excel工作表

        2018-06-19 02:14:18姚曄石翠
        無線互聯(lián)科技 2018年3期

        姚曄 石翠

        摘要:在Excel應(yīng)用中,部門信息常見的格式設(shè)置,一種是占據(jù)一列,另一種格式為合并單元格,占據(jù)一行,文章討論的是后一種,通過合并單元格的判定,確定要包含的數(shù)據(jù)范圍,然后復(fù)制到以合并單元格提取的內(nèi)容作為新建工作簿命名的文件中去。

        關(guān)鍵詞:VBA;合并單元格;Excel

        1 問題提出

        在Excel應(yīng)用中,常會(huì)遇到以合并單元格拆分?jǐn)?shù)據(jù)[1],如圖1所示。

        2 解決方法

        經(jīng)過多次嘗試,在Excel表格中,簡(jiǎn)單的函數(shù)功能無法實(shí)現(xiàn),因此選擇采用宏(Macro)來實(shí)現(xiàn)。 宏是一種批處理,是一些命令組織在一起,作為一個(gè)單獨(dú)命令完成一個(gè)特定任務(wù)。Microsoft O伍ce辦公軟件自動(dòng)集成“VBA”高級(jí)程序語言,使用宏語言Visual Basic將宏作為一系列指令來編寫[2]。

        定義宏seprateExcel

        Sub seprateExcel()

        End sub

        2.1合并單元格的判定

        合并單元格為班級(jí)信息,通過MergeCells來判定[3]。

        Duni As Long

        Dim titleCounts As Long

        titleCounts=3

        Dun RowCounts As Long

        RowCounts= Cells(Rows.Count, l).End(xlUp).Row

        Dim cel As Range

        For i=titleCounts+1 To RowCounts

        Set cel= Range("A"&i;)

        If cel.MergeCells Then

        End If

        Nexti

        End Sub

        2.2計(jì)算列

        計(jì)算總列數(shù)的前提條件是最后一列必須保證為數(shù)據(jù),因?yàn)榱袠?biāo)題行所有單元格都有數(shù)據(jù),因此,選擇標(biāo)題行計(jì)算工作表的列數(shù),再以列數(shù)得到最后一列的字母列名,這樣無論是Office哪一個(gè)版本,都可以通過計(jì)算獲得[4]。

        columnTitleRow=3

        Dim ColumnCounts As Long

        ColumnCounts=Cells(columnTitleRow, Columns.Count).End(xlToLeft).Column

        卜計(jì)算最后一列的列名

        Dim columnLetter As String

        num= ColumnCounts

        Do While num>0

        columnLetter=Chr《num -1)Mod 26+65)&columnLetter;

        num= Int《num -1)/26)

        Loop

        2.3提取合并單元格內(nèi)容

        titleCounts=3

        RowCounts= Cells(Rows.Count, l).End(xlUp).Row

        Dim sourceFile As String

        sourceFile=”成績(jī)表.xls"

        Dim targetFile As String

        Dim targetFilewithPath As String

        Dim cel As Range

        For i=titleCounts+1 To RowCounts

        Set cel= Range("A"&i;)

        Ifcel.MergeCells Then

        targetFile= Trim(cel)&".xls"

        targetFilewithPath=ThisWorkbook.Path&”\”&Trim;(cel)&”.xls”

        Workbooks.Add

        ActiveWorkbook.SaveAs targetFilewithPath

        Windows(sourceFile).Activate

        End If

        Nexti

        2.4復(fù)制表頭

        Windows(sourceFile).Activate

        ThisWorkbook.Sheets("sheetl").Activate

        Range("Al:"&columnLetter;&titleCounts;).Copy

        Windows(targetFile).Activate

        Range("Al").Select

        ActiveSheet.Paste

        2.5復(fù)制內(nèi)容

        拆分工作表,首先確定拆分范圍。起止行的判定也是通過合并單元格的判定來完成。

        Dim BeginRow As Long, EndRow As Long

        For i=titleCounts+1 To RowCounts

        Set cel= Range("A"&i;)

        Ifcel.MergeCells Then

        Ifi>titleCounts+1 Then

        EndRow=i-1

        Windows(sourceFile).Activate

        ThisWorkbook.Sheets (" sheetl").Activate

        Range( "A" & BeginRow & ":" & columnLetter &EndRow;).Copy

        Windows(targetFile).Activate

        Range("Al").Select

        ActiveSheet.Paste

        End If

        targetFile= Trim(cel)&”.xls” targetFilewithPath=ThisWorkbook.Path&”\”&Trim;(cel)&”.xls”

        Workbooks.Add

        ActiveWorkbook.SaveAs targetFilewithPath

        Windows(sourceFile).Activate

        BeginRow= 1+1

        End If

        Nexti

        EndRow= RowCounts

        Windows(sourceFile).Activate

        ThisWorkbook.Sheets(" sheetl").Activate

        Range("A"&BeginRow;&”:”&columnLetter;&EndRow;).Copy

        Windows(targetFile).Activate

        Range("Al").Select

        ActiveSheet.Paste

        3 結(jié)語

        由于微軟辦公自動(dòng)化軟件Office的普及,包含在其中的各個(gè)組件都可以利用VBA,VBA的應(yīng)用有助于使工作自動(dòng)化,可以使這些軟件的應(yīng)用獲得更高的工作效率。另外,由于VBA可以直接應(yīng)用Office套裝軟件的各項(xiàng)強(qiáng)大功能,所以,對(duì)Office進(jìn)行二次程序設(shè)計(jì)和程序開發(fā)更加方便快捷。

        [參考文獻(xiàn)]

        [1]廖麗嶸基于Excel VBA的成績(jī)管理系統(tǒng)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2012( 23):64-66

        [2]高世萍,翟濱,廉鎖原.基于Excel函數(shù)及Excel VBA的成績(jī)分析[J].電腦學(xué)習(xí),2011(1):18-19.

        [3]李利民.基于Exce12007 VBA的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]電腦知識(shí)與技術(shù),2010(5):1128-1129,1137

        [4]格林.Excel 2007 VBA參考大全[M].Excel Home,譯北京:人民郵電出版社,2009

        色视频www在线播放国产人成| 免费播放成人大片视频| 无码a级毛片免费视频内谢5j| 无码一区二区三区在线| 99久久综合精品五月天| 综合久久青青草免费观看视频| 日韩精品人妻系列中文字幕| 玩弄丰满奶水的女邻居| 国产精品亚洲一区二区无码| 久久无码中文字幕东京热| 中文字幕亚洲高清视频| 国产二区交换配乱婬| 97超级碰碰人妻中文字幕| 亚洲女同系列高清在线观看| 国产丝袜长腿美臀在线观看| 久久99精品久久水蜜桃| 国产日韩网站| 农村国产毛片一区二区三区女| 国产乱理伦在线观看美腿丝袜| 四虎影视免费永久在线观看| 国产欧美一区二区成人影院| 精品午夜中文字幕熟女| 国产精品天天看天天狠| 亚洲旡码a∨一区二区三区| 在线毛片一区二区不卡视频| 国产成人精品一区二区不卡| 国产综合久久久久久鬼色| 巨大欧美黑人xxxxbbbb| 国产精品麻豆成人av| 极品尤物人妻堕落沉沦| 国语自产偷拍精品视频偷| 国产主播无套内射一区| 特级国产一区二区三区| 久久久久久亚洲av成人无码国产| 综合网自拍| 国产一级一片内射视频在线| 老熟妇乱子交视频一区| 人人添人人澡人人澡人人人人| 免费a级毛片无码a∨免费| 亚洲av一区二区三区蜜桃| 男男啪啪激烈高潮cc漫画免费|