请教一下,Excel宏,怎么用代码实现这个功能呀?

原表工作簿名称:“XX统计表”新表工作簿名称:“汇总表”代码帮忙附一下说明,多谢!运行下面代码,能出现第一行标题行,但数据出现不了... 原表 工作簿 名称:“XX统计表”新表 工作簿 名称:“汇总表”代码帮忙附一下说明,多谢!
运行下面代码,能出现第一行标题行,但数据出现不了
展开
 我来答
阳光上的桥
2021-06-09 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

使用宏需要一定的基础,完全给出不用调试的代码需要给出原表的全屏图。


下面是根据帖子图片编写的程序代码:

注意,程序在模块里面,程序中的表名sheet1、sheet2需要自行修改,如果是在不同的EXCEL文件中,还应该写为workbooks("book1").sheets("sheett1")这样的格式。

下面是测试数据:

下面的测试数据运行产生的测试结果:

程序只产生A2开始的结果,标题行请自行添加。




最后强调,如果实际数据与帖子图片格式不同,例如数据开始行3,例如指标个数和列,那么代码需要适当的修改,希望自行理解代码的情况调整,代码文本如下:

Option Explicit


Sub 转换格式()

    Dim arr1, arr2, i&, j&, n&

    arr1 = Sheets("sheet1").UsedRange 'sheet1是原始数据表名,请自行修改

    ReDim arr2(1 To UBound(arr1) * 5, 1 To 6)

    For i = 3 To UBound(arr1) '原表正式数据从第3行开始,请检查确认

        For j = 4 To 8

            If arr1(i, j) <> "" Then

                n = n + 1

                arr2(n, 1) = arr1(i, 1)

                arr2(n, 2) = arr1(i, 1)

                arr2(n, 3) = arr1(i, 1)

                arr2(n, 4) = arr1(2, j)

                arr2(n, 5) = arr1(i, j)

                arr2(n, 6) = arr1(i, 9)

            End If

        Next j

    Next i

    Sheets("sheet2").Range("a2").Resize(n, 6) = arr2 'sheet2是结果表名,请自行修改

End Sub

ccc菜辣椒ccc

2021-06-08 · TA获得超过19.3万个赞
知道大有可为答主
回答量:11.6万
采纳率:77%
帮助的人:5335万
展开全部
在介绍学习VBA之前,应该花几分钟录制一个宏。
新术语:“宏”,指一系列EXCEL能够执行的VBA语句。
以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。
4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★ 宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。
5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※ 如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。
录制完一个宏后就可以执行它了。
1.4 执行宏
当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。
2)选择“工具”—“宏”—“宏”,显示“宏”对话框。
3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。
1.5 查看录制的代码
到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)
Sub 改变颜色() '
' 改变颜色 Macro
' xw 记录的宏 2000-6-10 ' '
With Selection.Interior
.ColorIndex = 3 .Pattern = xlSolid
.PatternColorIndex = xlAutomatic End With End Sub
将来会十分熟悉这种代码,虽然现在它们看上去像一种奇怪的外语。学习VBA或编程语言在某种程度上比较像在学习一种外语。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明佳妙明
2021-06-08 · 专注办公自动化和建设工程资料编制
明佳妙明
采纳数:791 获赞数:825

向TA提问 私信TA
展开全部

参考

Excel数据批量转置(多列转三列)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2021-06-09 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:8972万
展开全部
你这个问题,给你写了代码,你又要修改表格结构
让你发表,又没反应,哎。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式