几个实用的Excel 宏代码


来源:高中英语教学交流
发布时间:2013-03-22 10:41:00
查看次数:

内容提要:   有时需要在Excel中将某个多行多列的区域转换到一列中,下面的VBA代码可以实现这个目的。

Excel 宏 按列拆分

在一个工作表中是许多的公司订单记录,如何将它按公司名分拆成一个个工作表,用VBA实现相当便捷。以下是演试:
原始工作簿:
 
运行VBA代码后的工作簿:
 
代码如下:

  1. 需要先把数据按照分拆的那一列字段排序
  2. 如果你想应用在你的表格中,只需将所有resize(1,3)中的3修改,改成你的表格的列数。如果你总表有8列就改成resize(1,8)即可
  3. 如果你想根据表格的第一列拆分,需要把Sheet1.Cells(i, 2) <> Sheet1.Cells(i - 1, 2)和sh.Name = Sheet1.Cells(i, 2)的2换成1

Sub s()
  Application.ScreenUpdating = False
  Dim sh As Worksheet, i As Integer
    For i = 2 To Sheet1.[a65536].End(3).Row
      If Sheet1.Cells(i, 2) <> Sheet1.Cells(i - 1, 2) Then
        Worksheets.Add after:=Worksheets(Sheets.Count)
          Set sh = ActiveSheet
            sh.Name = Sheet1.Cells(i, 2)
            sh.Range("a1").Resize(1, 3).Value = Sheet1.Range("a1").Resize(1, 3).Value
            sh.Range("a65536").End(3).Offset(1, 0).Resize(1, 3).Value = Sheet1.Cells(i, 1).Resize(1, 3).Value
          Else
            sh.Range("a65536").End(3).Offset(1, 0).Resize(1, 3).Value = Sheet1.Cells(i, 1).Resize(1, 3).Value
      End If
    Next i
Application.ScreenUpdating = True
End Sub

第1页 第2页 第3页

相关文章
·微课制作注意事项06-02
·小册子打印代码07-07
·笔记本如何外接显示器08-13
·Excel 进行学生成绩统计分析03-13
·笔记本小键盘切换的问题08-13
·教培网网上培训快速及格技巧05-04
·Excel 如何只保护部分单元格05-08
·破解不能复制修改的word文档 06-13
·完美解决WPS 2019 中的 VBA 不能用的问题12-29
·解决桌面IE图标或者我的电脑无法删除02-20
最新文章
阅读排行