Excel-VBA二维表转换为一维表的排版方法

应用场景

利用双层循环将四列的二维表转换成一维表的排版

知识要点

1:Range.Resize(RowSize/行, ColumnSize/列) 属性 调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。

2:Range.Merge 方法  由指定的 Range 对象创建合并单元格

3:Range.AutoFill(Destination/填充区域, Type) 方法 对指定区域中的单元格执行自动填充。

4:Range().Borders.LineStyle = 1 添加边框

Sub 格式转换()

Dim i As Integer, Cell As Range, shtnum As Integer, Arr(), j As Long

Application.ScreenUpdating = False

shtnum = ActiveSheet.Index  '记录当前表地址

Worksheets.Add after:=Sheets(shtnum) '添加一个工作表在当前表之后

Sheets(shtnum 1).Name = Sheets(shtnum).Name & '格式转换' '为新表命名

Range('a1') = '入库表'

Range('A2:D2') = Array('日期', '单号', '品名', '数量')

Sheets(shtnum).Select  '激活原表

'遍历需要转换的数据区域,包括纵向循环和横向循环

For i = 4 To Cells(Rows.Count, 2).End(xlUp).Row

For Each Cell In Range([C2], Cells(2, Columns.Count).End(xlToLeft))

If Cell.Offset(1 i - 3, 0) '' Then

j = j 1

ReDim Preserve Arr(1 To 4, 1 To j)

Arr(1, j) = Range('A' & i).Value

Arr(2, j) = Range('B' & i).Value

Arr(3, j) = Cell.Value

Arr(4, j) = Cell.Offset(1 i - 3, 0).Value

End If

Next Cell

Next i

Sheets(shtnum 1).[a3].Resize(j, 4) = WorksheetFunction.Transpose(Arr) '将数组写入新表中

Sheets(shtnum 1).[a2].Resize(j 1, 4).Borders.LineStyle = 1 '添加边框

Sheets(shtnum 1).[a:a].NumberFormat = 'm月d日' '将第一列格式化为端日期格式

Sheets(shtnum 1).[a2].Resize(j 1, 4).EntireColumn.AutoFit

Application.ScreenUpdating = True

End Sub

应用场景

利用双层循环将四列的二维表转换成一维表的排版

知识要点

1:Range.Resize(RowSize/行, ColumnSize/列) 属性 调整指定区域的大小。返回 Range 对象,该对象代表调整后的区域。

2:Range.Merge 方法  由指定的 Range 对象创建合并单元格

3:Range.AutoFill(Destination/填充区域, Type) 方法 对指定区域中的单元格执行自动填充。

4:Range().Borders.LineStyle = 1 添加边框

Sub 格式转换()

Dim i As Integer, Cell As Range, shtnum As Integer, Arr(), j As Long

Application.ScreenUpdating = False

shtnum = ActiveSheet.Index  '记录当前表地址

Worksheets.Add after:=Sheets(shtnum) '添加一个工作表在当前表之后

Sheets(shtnum 1).Name = Sheets(shtnum).Name & '格式转换' '为新表命名

Range('a1') = '入库表'

Range('A2:D2') = Array('日期', '单号', '品名', '数量')

Sheets(shtnum).Select  '激活原表

'遍历需要转换的数据区域,包括纵向循环和横向循环

For i = 4 To Cells(Rows.Count, 2).End(xlUp).Row

For Each Cell In Range([C2], Cells(2, Columns.Count).End(xlToLeft))

If Cell.Offset(1 i - 3, 0) '' Then

j = j 1

ReDim Preserve Arr(1 To 4, 1 To j)

Arr(1, j) = Range('A' & i).Value

Arr(2, j) = Range('B' & i).Value

Arr(3, j) = Cell.Value

Arr(4, j) = Cell.Offset(1 i - 3, 0).Value

End If

Next Cell

Next i

Sheets(shtnum 1).[a3].Resize(j, 4) = WorksheetFunction.Transpose(Arr) '将数组写入新表中

Sheets(shtnum 1).[a2].Resize(j 1, 4).Borders.LineStyle = 1 '添加边框

Sheets(shtnum 1).[a:a].NumberFormat = 'm月d日' '将第一列格式化为端日期格式

Sheets(shtnum 1).[a2].Resize(j 1, 4).EntireColumn.AutoFit

Application.ScreenUpdating = True

End Sub


相关内容

  • 条形码原理
  • 条形码技术汇编 目录 一.条形码的历史 二.条形码的识别原理 三.条形码的优越性 四.条形码的扫描 五.条形码技术的优点 六.条形码的编码规则 七.条形码的码制区别 八.条形码的制作 九.商品条码 十.印刷制作条形码的要求 十一.商品条码数字的含义 0.条形码的概念 条形码或条码(barcode)是 ...

  • 将数据源的表格从二维列表转换为一维列表的方法
  • 创建数据透视表,数据源需要是Excel的数据列表,这种数据列表是以列表数据存在的一维表格.但在实际工作中操作者往往遇到的是一些二维表格.在对数据进行分析时,直接利用二维列表来创建数据透视表往往无法达到令人满意的效果.因此,在创建数据透视表前,就需要将数据源的表格从二维列表转换为一维列表. 1.启动E ...

  • 高效太阳能电池机理与工艺结构
  • 高效太阳能电池机理与工艺结构 宋太伟 2013-10-22 上海建冶环保科技股份有限公司,上海陆亿新能源有限公司,建冶研发中心 内容摘要:本文系统地.原创性地阐述了太阳能电池的普遍机理.提高光电转换效率的关键技术及多种简便可行的超高效率硅基电池的结构与工艺方法:开创性地提出准二维薄膜结构.准一维纳米 ...

  • 常用条码打印大全
  • 常用条码打印大全(PB 版) 特点描述:主要针对Powerbuilder 程序开发者,当然应用程序也可直接供给最终用户用来打印价签.条码证件之类的东东:本程序无需安装条码字库, 无需控件, 无需条码打印机,功能已封装为对象,接口简单,提供label 风格的数据窗口预览(即可设定每页纵向及横向标签的数 ...

  • 滤波反投影
  • 滤波反投影法重建CT 图像实验指导书 一. 实验目的 1. 了解傅立叶变换法.直接反投影法重建CT 图像的原理: 2. 掌握滤波反投影法重建CT 图像的原理和基本方法. 二. 实验器材 装有MATLAB 程序的PC 机,滤波反投影法图像重建演示软件,投影数据. 三. 实验原理 CT 图像重建问题实际 ...

  • 多环芳烃(PAHs)检测方法
  • 多环芳烃(PAHs)检测方法 信标(Symbol)检测分析技术服务中心提供包括汽车内饰件.石化产品.橡胶.塑胶.润滑油.防锈油等产品的多环芳烃的检测分析服务. 1标准检测方法 目前GC-FID.GC-MS和HPLC-UV/FL是检测PAHs最常用的方法.气相色谱具有高选择性.高分辨率和高灵敏度的特性 ...

  • matlab常用命令汇总111111
  • 一.常用对象操作:除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who 可以查看当前工作空间变量名, whos 可以查看变量名细节. 3.功能键: 功能键 快捷键 说明 方向上键 Ctrl+P 返回前一行输入 ...

  • 快速双边滤波综述
  • 快滤双边滤波 一. 关于双边滤波(BLF) C.Tomasi 和R.Manduchi 提出了一种非迭代的简单策略,用于边缘保持滤波,称之为双边滤波.双边滤波的内在想法是:在图像的值域(range )上做传统滤波器在空域(domain )上做的工作.空域滤波对空间上邻近的点进行加权平均,加权系数随着距 ...

  • 东北大学博士学位论文格式
  • 东北大学博士学位论文排版打印格式 1. 引言 依据中华人民共和国<科学技术报告.学位论文和学术论文的编写格式>和东北大学学位论文格式改编,专为我校申请硕士.博士学位人员撰写打印论文时使用.本格式自发布日起实行. 2. 学位论文主要部分 学位论文主要部分由前头部分.主体部分和结尾部分组成. ...