最新国产好看的视频,伊人天堂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的朋友很有幫助,推薦到腳本之家,有需要的朋友可以過來參考一下,希望能對(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)擊【開發(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ù)表要從第一行開始有數(shù)據(jù),并且不能有合并單元格;

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

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

相關(guān)文章

最新評(píng)論

平阳县| 温州市| 阜新| 鄂州市| 图们市| 郁南县| 郯城县| 富川| 唐海县| 赤壁市| 临海市| 海南省| 宜君县| 茂名市| 连城县| 锦屏县| 新乡市| 固安县| 观塘区| 正蓝旗| 襄垣县| 庆城县| 时尚| 思茅市| 米脂县| 三河市| 施秉县| 福州市| 抚远县| 广元市| 五常市| 石城县| 商都县| 滕州市| 开江县| 越西县| 许昌市| 金堂县| 云龙县| 汤阴县| 绥阳县|