excel怎麼將一個工作表根據條件拆分成多個工作簿
For i = 0 To UBound(k) - 1 這行改成 for i=Lbound(k) to ubound(k) 就行了
下面介紹一下excel將一個工作表根據條件拆分成多個工作簿的方法。
方法
原始數據如下圖
以WPS 2019版本為例: 關於一個EXCEL如何將一個工作表根據條件拆分成多件工作表,您可使用WPS參考下述步驟完成操作: 1、打開「表格(Excel)」文檔; 2、點擊「數據-拆分表格」; 3、按需選擇「把工作表按照內容拆分」或「把工作簿按照工作表拆
按Alt+F11進入VBE界面。
excel將一個工作表根據條件拆分成多個工作表方法詳見:https://jingyan.baidu.com/article/c45ad29cd48857051753e285.html
點擊“插入”,選擇“模塊”
以WPS 2019版本為例: 關於EXCEL如何將1個工作表按條件分割成多個工作表,您可使用WPS參考下述步驟完成操作: 1、打開「表格(Excel)」文檔; 2、點擊「數據-拆分表格」; 3、按需選擇「把工作表按照內容拆分」或「把工作簿按照工作表拆分」使
雙擊模塊
在空白窗口粘貼以下代碼:
一個Excel工作簿中的多個工作表想拆分成獨立表格,首先打開表格找到並選中表格右下角的表一,然後,點擊右鍵選擇“移動或複製工作表”,然後,打開工作薄點擊新工作薄,然後,點擊確定,然後點擊保存,打開保存界面後再點擊“保存”(喜歡保存到哪裏
Sub CFGZB()
可以按下面的步驟:(1) 在要複製的sheet標籤上點鼠標右鍵;(2) 彈出的窗口中選"移動或複製工作表";(3) 彈出的窗口中點下拉框,然後選"(新工作簿)";(4) 如果是複製,勾選"建立副本",如果是剪切,不勾選該選項, 確定(5) 保存,這樣,一個新的e
Dim myRange As Variant
1、打開需要編輯的Excel文檔。如圖所示,工作簿下方有很多工作表。現在需要將這些工作表單獨拆分開成一個個工作簿。 2、右鍵任意一個工作表標籤,在彈出的下拉列表中選擇查看代碼。即彈出代碼窗口。如下圖所示。 3、點擊菜單插入,模塊在彈出的
Dim myArray
我測試了一下,沒有問題,你看看你的標籤名稱是不是有問題,這個必須是“數據源”三個字,沒有任務其他的字符。
Dim titleRange As Range
Excel是職場辦公人員很常見的一種數據處理工具。excel應用廣泛。Excel表格製作、Excel函數大全、Excel財務報表分析等等。 想要精通Excel數據處理能力,然而大部分培訓機構的課程又非常貴,這裏推薦一個免費的在線視頻教程網站:虎課網-專注在線
Dim title As String
Excel是職場辦公人員很常見的一種數據處理工具。excel應用廣泛。Excel表格製作、Excel函數大全、Excel財務報表分析等等。 想要精通Excel數據處理能力,然而大部分培訓機構的課程又非常貴,這裏推薦一個免費的在線視頻教程網站:虎課網-專注在線
Dim columnNum As Integer
如果經常做這樣的表格,建議你下個“方方格子”,去百度下載安裝,安裝完後再打開表格就在你的表任務欄了,可以對工作表和工作簿進行拆分、彙總、合併等等,對數據分析幫助很大,一鍵就能拆分、合併等
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
myRange = Application.InputBox(prompt:="請選擇標題行:", Type:=8)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
myArray = WorksheetFunction.Transpose(myRange)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set titleRange = Application.InputBox(prompt:="請選擇拆分的表頭,必須是第一行,且為一個單元格,如:“姓名”", Type:=8)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
title = titleRange.Value
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
columnNum = titleRange.Column
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Application.ScreenUpdating = False
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Application.DisplayAlerts = False
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Dim i&, Myr&, Arr, num&
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Dim d, k
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
For i = Sheets.Count To 1 Step -1
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
If Sheets(i).Name <> "數據源" Then
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Sheets(i).Delete
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
End If
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Next i
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set d = CreateObject("Scripting.Dictionary")
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Myr = Worksheets("數據源").UsedRange.Rows.Count
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Arr = Worksheets("數據源").Range(Cells(2, columnNum), Cells(Myr, columnNum))
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
For i = 1 To UBound(Arr)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
d(Arr(i, 1)) = ""
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Next
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
k = d.keys
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
For i = 0 To UBound(k)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set conn = CreateObject("adodb.connection")
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Sql = "select * from [數據源$] where " & title & " = '" & k(i) & "'"
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Dim Nowbook As Workbook
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set Nowbook = Workbooks.Add
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
With Nowbook
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
With .Sheets(1)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
.Name = k(i)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
For num = 1 To UBound(myArray)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
.Cells(1, num) = myArray(num, 1)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Next num
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
.Range("A2").CopyFromRecordset conn.Execute(Sql)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
End With
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
End With
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
ThisWorkbook.Activate
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Sheets(1).Cells.Select
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Selection.Copy
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Workbooks(Nowbook.Name).Activate
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
ActiveSheet.Cells.Select
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
SkipBlanks:=False, Transpose:=False
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Application.CutCopyMode = False
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Nowbook.SaveAs ThisWorkbook.Path & "'" & k(i)
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Nowbook.Close True
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set Nowbook = Nothing
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Next i
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
conn.Close
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Set conn = Nothing
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Application.DisplayAlerts = True
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行 Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列For i = LastColumn To 4 Step -2 '
Application.ScreenUpdating = TrueEnd Sub
返回Excel工作表界面,點擊“開發工具”,選擇“插入”,點擊“按鈕”
指定宏。
點擊插入的按鈕,根據提示選擇標題行。
根據提示,選擇要拆分的列標題,以“姓名”為例。
再次點擊確定後,宏會自動運行。運行完畢後工作簿所在的同路徑下會出現以每個人名命名的獨立工作簿。打開每個單個工作簿就可以看到每個人自己的數據記錄。
擴展閲讀,以下內容您可能還感興趣。
excel2016怎樣將一個工作表根據條件拆分成多個工作表?
我的也是同樣問題,刪除前面的空格會出現編譯錯誤,缺少表達式。
excel vba如何將一個多個工作表的工作簿按一個篩選條件去分成多個工作簿?
如果經常做這樣的表格,建議你下個“方方格子”,去百度下載安裝,安裝完後再打開表格就在你的表任務欄了,可以對工作表和工作簿進行拆分、彙總、合併等等,對數據分析幫助很大,一鍵就能拆分、合併等
追問你好,這是可以按條件去拆分的嗎?我用的是WPS,會員有這個功能,但是隻是以多個工作表去拆分成多個工作簿……追答可以按條件拆分,拆分字段可選,可以先把一個表拆成一簿多表,再由一簿多表分成多簿一表如何快速的把一個EXCEL工作簿分成多個工作表
要用VBA處理:設你的總表的名稱 為“總表”,請按Alt+F11,打開VBA編輯器,插入一個模塊,把下面的代碼貼進去,按F5執行
Sub 拆分()LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column '看總表有多少列
For i = LastColumn To 4 Step -2 '先從最後兩列開始,一路向左
Range(Columns(i - 1), Columns(i)).Select '選擇兩列
Selection.Cut '剪切
Sheets.Add After:=ActiveSheet '增加 一個工作表
ActiveSheet.Paste '粘貼
ActiveSheet.Name = Cells(1, 2) '將表名稱改為B2的內容
Sheets("總表").Select '回到總表
Next '下兩列
ActiveSheet.Name = Cells(1, 2) '將總表名稱也改為B2內容
End Sub
已測試通過。
追問您好,如果列中間有空白列怎麼辦?excel將一個工作簿根據A列數據拆分成多個工作表
我測試了下,沒有任何問題。可能是你的日期列的格式有問題,把日期列的單元格格式要改成文本格式就可以了,如果是日期類型就不行了。追問謝謝回答,不過我試了多次,發現如果列中數據是數字開頭的就不行,比如0或者*07之類,如果數字前面有個字母,比如A0,B* 就可以。
請問是哪步出了問題?怎麼修改下