几个实用的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页

相关文章
·excel怎么生成随机数?02-03
·如何在Word中输入国际音标08-30
·一分钟彻底清除电脑中的垃圾10-11
·提示输入QQ本地信息密码时怎么办?04-03
·全国教师职称计算机考试应试技巧03-11
·相片裁剪操作方法10-21
·XP不回车直接登录方法03-03
·word文档去除锁定保护手动方法04-12
·ASP获取真正的IP地址 兼容代理服务器02-09
·去掉word中的隔行回车03-23
最新文章
阅读排行