Excel交流网
  • 设为首页|收藏本站|手机版
  • Excel-教程-技巧-培训视频

  • 网站首页
  • Excel教程
  • 新闻动态
  • Excel资源
  • 关于我们

Excel教程

Excel操作
Excel函数
Excel图表
Excel VBA
Excel 行业应用

联系方式

Excel中交流网 联系方式

QQ:18449932 


网  址:www.excel-cn.com  

当前位置:网站首页 > Excel教程 > Excel VBA
Excel VBA

EXCEL快速实现多维转二维表格

在工作中有遇到这样一个问题,将一张多维的表格按照月份转换为二维表格。如图所示

原始图

Excel技巧


结果图

Excel技巧


由于实际的数据量比较多,如果采取剪切、粘贴的方法,操作相当繁琐。这里我们介绍使用VBA代码实现上述要求.

Excel技巧


详细源码:

Sub test()

    

    Application.ScreenUpdating = False

    a = 2

    For j = 2 To Sheets(1).Cells(Rows.Count, 1).End(3).Row

        Sheets(1).Cells(j, 1).Resize(1, 6).copy Cells(a, 1)

        For i = 7 To 18

            If Len(Sheets(1).Cells(j, i)) > 0 Then

                Sheets(1).Cells(j, 1).Resize(1, 6).copy Cells(a, 1)

                Cells(a, 7) = Sheets(1).Cells(1, i)

                Cells(a, 8) = Sheets(1).Cells(j, i)

                a = a + 1

            End If

        Next i

    Next j

    Application.ScreenUpdating = True

    

End Sub


代码检查无误之后,依次选择“文件→关闭并返回到Microsoft Excel”命令,返回Excel主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏。

效果图

Excel技巧


使用公式法:

选择F2单元格,在编辑栏输入公式“=OFFSET(原表!A$2,MOD(ROW(A11),11),)”,向右、向下拖拽填充柄至F2单元格;选择G2单元格,在编辑栏输入公式“=OFFSET(原表!$G$1,(COLUMN(A1)>1)*(MOD(ROW(A1)-1,11)+1),INT((ROW(A1)-1)/11))”,向右拖拽填充柄至H2单元格,公式执行之后向下拖拽填充柄,即可看到图5所示的转换效果。

e5.jpg

点击次数:  更新时间:2017-08-01 16:27:28  【打印此页】  【关闭】
上一条:Excel VBA动态设置行高(根据某一列每行的字符数量)  下一条:Excel文本透视-行列转置
本站动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图|网站管理

中山市天鸣科技发展有限公司 版权所有 1999-2024 粤ICP备10043721号

QQ:18449932

免费Excel教程、Excel技巧、Excel培训、Excel函数公式、Excel图表、Excel VBA

Excel教程|Excel技巧|Excel培训|Excel函数公式|Excel图表|VBA

Powered by MetInfo 5.3.12 ©2008-2026  www.metinfo.cn