最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

excel將一個(gè)工作表根據(jù)條件拆分成多個(gè)工作表圖文教程

  發(fā)布時(shí)間:2015-01-04 09:23:40   作者:佚名   我要評(píng)論
下面腳本之家的朋友介紹excel將一個(gè)工作表根據(jù)條件拆分成多個(gè)工作表的方法,對(duì)于經(jīng)常使用excel的朋友很有幫助,推薦到腳本之家,有需要的朋友可以過(guò)來(lái)參考一下,希望能對(duì)大家有所幫助

本例介紹在excel中如何將一個(gè)工作表根據(jù)條件拆分成多個(gè)工作表。

注意:很多朋友反映sheets(i).delete這句代碼出錯(cuò),要注意下面第一個(gè)步驟,要拆分的數(shù)據(jù)工作表名稱為“數(shù)據(jù)源”,而不是你新建工作簿時(shí)的sheet1這種。手動(dòng)改成“數(shù)據(jù)源”即可。

操作步驟:

原始數(shù)據(jù)表如下(名稱為:數(shù)據(jù)源),需要根據(jù)B列人員姓名拆分成每個(gè)人一個(gè)工作表。

點(diǎn)擊【開(kāi)發(fā)工具】-【Visual Basic】或者Alt+F11的快捷鍵進(jìn)入VBE編輯界面。

如下圖所示插入一個(gè)新的模塊。

如下圖,粘貼下列代碼在模塊中:

復(fù)制內(nèi)容到剪貼板
  1. Sub CFGZB()   
  2.   
  3.     Dim myRange As Variant   
  4.   
  5.     Dim myArray   
  6.   
  7.     Dim titleRange As Range   
  8.   
  9.     Dim title As String   
  10.   
  11.     Dim columnNum As Integer   
  12.   
  13.     myRange = Application.InputBox(prompt:="請(qǐng)選擇標(biāo)題行:", Type:=8)   
  14.   
  15.     myArray = WorksheetFunction.Transpose(myRange)   
  16.   
  17.     Set titleRange = Application.InputBox(prompt:="請(qǐng)選擇拆分的表頭,必須是第一行,且為一個(gè)單元格,如:“姓名”", Type:=8)   
  18.   
  19.     title = titleRange.Value   
  20.   
  21.     columnNum = titleRange.Column   
  22.   
  23.     Application.ScreenUpdating = False   
  24.   
  25.     Application.DisplayAlerts = False   
  26.   
  27.     Dim i&, Myr&, Arr, num&   
  28.   
  29.     Dim d, k   
  30.   
  31.     For i = Sheets.Count To 1 Step -1   
  32.   
  33.         If Sheets(i).Name <> "數(shù)據(jù)源" Then   
  34.   
  35.             Sheets(i).Delete   
  36.   
  37.         End If   
  38.   
  39.     Next i   
  40.   
  41.     Set d = CreateObject("Scripting.Dictionary")   
  42.   
  43.     Myr = Worksheets("數(shù)據(jù)源").UsedRange.Rows.Count   
  44.   
  45.     Arr = Worksheets("數(shù)據(jù)源").Range(Cells(2, columnNum), Cells(Myr, columnNum))   
  46.   
  47.     For i = 1 To UBound(Arr)   
  48.   
  49.         d(Arr(i, 1)) = ""  
  50.   
  51.     Next   
  52.   
  53.     k = d.keys   
  54.   
  55.     For i = 0 To UBound(k)   
  56.   
  57.         Set conn = CreateObject("adodb.connection")   
  58.   
  59.         conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName   
  60.   
  61.         Sql = "select * from [數(shù)據(jù)源$] where " & title & " = '" & k(i) & "'"  
  62.   
  63.         Worksheets.Add after:=Sheets(Sheets.Count)   
  64.   
  65.         With ActiveSheet   
  66.   
  67.             .Name = k(i)   
  68.   
  69.             For num = 1 To UBound(myArray)   
  70.   
  71.                 .Cells(1, num) = myArray(num, 1)   
  72.   
  73.             Next num   
  74.   
  75.             .Range("A2").CopyFromRecordset conn.Execute(Sql)   
  76.   
  77.         End With   
  78.   
  79.         Sheets(1).Select   
  80.   
  81.         Sheets(1).Cells.Select   
  82.   
  83.         Selection.Copy   
  84.   
  85.         Worksheets(Sheets.Count).Activate   
  86.   
  87.         ActiveSheet.Cells.Select   
  88.   
  89.         Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _   
  90.   
  91.                                SkipBlanks:=False, Transpose:=False   
  92.   
  93.         Application.CutCopyMode = False   
  94.   
  95.     Next i   
  96.   
  97.     conn.Close   
  98.   
  99.     Set conn = Nothing   
  100.   
  101.     Application.DisplayAlerts = True   
  102.   
  103.     Application.ScreenUpdating = True   
  104.   
  105. End Sub   
  106.   

5、如下圖所示,插入一個(gè)控件按鈕,并指定宏到剛才插入的模塊代碼。

6、點(diǎn)擊插入的按鈕控件,根據(jù)提示選擇標(biāo)題行和要拆分的列字段,本例選擇“姓名”字段拆分,當(dāng)然也可以選擇C列的“名稱”進(jìn)行拆分,看實(shí)際需求。

7、代碼運(yùn)行完畢后在工作簿后面會(huì)出現(xiàn)很多工作表,每個(gè)工作表都是單獨(dú)一個(gè)人的數(shù)據(jù)。具體如下圖所示:

8、注意:

1)原始數(shù)據(jù)表要從第一行開(kāi)始有數(shù)據(jù),并且不能有合并單元格;

2)打開(kāi)工作簿時(shí)需要開(kāi)啟宏,否則將無(wú)法運(yùn)行代碼。

以上就是excel將一個(gè)工作表根據(jù)條件拆分成多個(gè)工作表圖文教程,希望能對(duì)大家有所幫助!

相關(guān)文章

最新評(píng)論

拜城县| 丽江市| 姜堰市| 黄平县| 乌鲁木齐县| 金寨县| 巴塘县| 山阳县| 锡林浩特市| 开阳县| 申扎县| 武宣县| 麻江县| 桃江县| 新泰市| 南京市| 绥芬河市| 仙居县| 浦江县| 四平市| 司法| 宜丰县| 闻喜县| 博湖县| 兴宁市| 嘉兴市| 朝阳县| 广河县| 炉霍县| 界首市| 外汇| 西充县| 恩平市| 建宁县| 伊吾县| 湘潭县| 河间市| 正阳县| 霸州市| 蒙阴县| 南开区|