如何将大型Excel表分解为多个表格
问题描述:
我有大量的Excel表格,其中有16k条记录,我想将它分成多个表格,如1张Excel表格中的2000条记录,如果有任何想法留下,那么应该将其添加到下一个请帮我解决这个问题。如何将大型Excel表分解为多个表格
感谢这么多提前 维贾伊·巴特
答
我不知道你知道多少关于VBA但你可以用下面的代码来实现自己的目标。我会发布2个选项。第一个宏将删除从源表单复制的行,第二个宏将保留源表单值。您只需使用源工作表的名称和每个生成工作表中需要的行数来更新代码。
更新项目
Set CWS = Sheets("Sheet2") 'Source Worksheet name
LineNo = 5 ' Number of lines in each sheet
宏1:将删除复制源从片的行。
Dim CWS As Worksheet
Dim LastRow As Long
Dim S_No As Long
Dim LineNo As Long
Set CWS = Sheets("Sheet2") 'Source Worksheet name
LastRow = Range("A" & Rows.Count).End(xlUp).Row
LineNo = 5 ' Number of lines in each sheet including header
S_No = 1
i = 1
While i < LastRow
CWS.Range("1:" & LineNo).Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Partition " & S_No
Sheets("Partition " & S_No).Range("A1").PasteSpecial
CWS.Range("2:" & LineNo).Delete Shift:=xlUp
LastRow = CWS.Range("A" & Rows.Count).End(xlUp).Row
S_No = S_No + 1
Wend
宏2:将保持复制的行中源片。
Dim CWS As Worksheet
Dim LastRow As Long
Dim S_No As Long
Dim LineNo As Long
Set CWS = Sheets("Sheet2") 'Source Worksheet name
LastRow = Range("A" & Rows.Count).End(xlUp).Row
LineNo = 5 ' Number of lines in each sheet excluding header
S_No = 1
For i = 2 To LastRow
CWS.Range("1:1," & i & ":" & i + LineNo - 1).Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Partition " & S_No
Sheets("Partition " & S_No).Range("A1").PasteSpecial
i = i + Sheets("Partition " & S_No).Range("A" & Rows.Count).End(xlUp).Row - 1
S_No = S_No + 1
Next
更新:我已经更新了代码到第一行复制作为报头,以创建的所有片材。但请阅读LineNo
变量旁边的注释。
非常感谢帮助我是vba的初学者。我从家里学习。再次感谢 。 – 2015-02-18 08:29:09
谢谢,但我仍然有一个疑问,我需要标题相同的所有表。再次感谢它真正的工作。 – 2015-02-18 08:47:00
@vijaybhatt你好,我根据你的要求更新了代码。现在它会将第一行作为标题复制到所有页面。 – Dubison 2015-02-18 16:59:47