比如你有一个很多数据的表格,你现在想把他们按照每n行划分开 现在让我们先进入excel表格中,接下来请跟着我的步骤来 假设你想对这个sheet1表格中的数据做划分。现在将鼠标移到sheet1上,点击右键,点击 查看代码 ,这时你会看到弹出来一个窗口,如图 由于该窗口默认的代码很小,我们需要调大默认的代码字体,如图 点击工具,点击选项 大小你自己随意 接下来可以正式开始代码了
Sub “这儿你写上自己定义的函数名”() # 定义函数 Dim i As Integer # 定义整型变量i For i = 1 To “填上你想划分的个数” Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "你想要划分出来的表的名字" & i # 增加一个新的工作表,用于将复制的内容粘贴进去 Sheets("sheet1").Activate # 注意这个是激活sheet1表 ActiveSheet.Range(Cells((i - 1) * 2000 + 1, 1), Cells(i * 2000, 13)).Copy Sheets("你想要划分出来的表的名字" & i).Activate # 选择需要复制的范围以及要复制到那里去 ActiveSheet.Paste # 粘贴,也就是将复制的内容粘贴到当前活动表的活动单元格开始区域 Next # 进行下一个活动 End Sub好了 开始执行吧 你会有你想要的结果。 在了解一个小东西 range(cells(1,1),cells(1,2))表示的是A1:B1(相当于是一个矩形的两个对角线端点) 比如range(cells(1,1),cells(3,3))表示的及时A1:C3,代表的就是 这一块的内容 另外附上vab代码的一些内容 VAB常用代码 WorkSheet属性和方法
你只需要清楚你现在需要划分成几个表,以及你希望划分出来的表的名字,比如 你现在有9900行,13列数据,你希望每2000行划分一次,那么毫无疑问你得划分5个表,同时你划分成新的表的名字为 “分解” 那么下面的代码就是了
Sub Macro1() Dim i As Integer For i = 1 To 5 Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "分解" & i Sheets("sheet1").Activate ActiveSheet.Range(Cells((i - 1) * 2000 + 1, 1), Cells(i * 2000, 13)).Copy Sheets("分解" & i).Activate ActiveSheet.Paste Next End Sub同样如果你想划分成 4个表,你的表有4列数据 ,新的名字为"LL",那么你可以用下面的代码 Sub Macro1() Dim i As Integer For i = 1 To 4 Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = “LL” & i Sheets(“sheet1”).Activate ActiveSheet.Range(Cells((i - 1) * 2000 + 1, 1), Cells(i * 2000, 4 )).Copy Sheets(“LL” & i).Activate ActiveSheet.Paste Next End Sub
注意对比我改了哪些地方 第3,4,6’行 ,而且只是变了一点点
好了 今天的分享就是这些了。。。