如何用vba代码实现?将工作表1A列名单按工作表2的格式复制。谢谢! 50

 我来答
boyayes
2021-06-05 · TA获得超过4517个赞
知道大有可为答主
回答量:4231
采纳率:75%
帮助的人:1028万
展开全部

按Alt+F11打开VBA编辑器,在左侧插入模块,双击模块,在右侧粘贴代码。

代码如下:


Sub 数据转换()

    Dim i&, irow&

    For i = 2 To 10 Step 3 '遍历2至10行,步长3

        irow = Range("E" & Rows.Count).End(3).Row + 1 '赋值irow等于E列的上界行号+1

        If Range("E1") = "" Then irow = 1 '如果E1是空的,那么重新赋值irow等于1

        Range("A1").Resize(1, 3).Copy '复制标题区

        Range("E" & irow).PasteSpecial Paste:=xlPasteAll, Transpose:=True '转置粘贴到E列

        Range("A" & i).Resize(3, 3).Copy '复制数据区

        Range("F" & irow).PasteSpecial Paste:=xlPasteAll, Transpose:=True '转置粘贴到F列

    Next

End Sub


如图,粘贴到Sheet2表,注意我画出来的四个地方,添加上Sheet2.即可。

代码如下:

Sub 数据转换()

    Dim i&, irow&

    For i = 2 To 10 Step 3 '遍历2至10行,步长3

        irow = Sheet2.Range("E" & Rows.Count).End(3).Row + 1 '赋值irow等于Sheet2表E列的上界行号+1

        If Sheet2.Range("E1") = "" Then irow = 1 '如果Sheet2表E1是空的,那么重新赋值irow等于1

        Range("A1").Resize(1, 3).Copy '复制标题区

        Sheet2.Range("E" & irow).PasteSpecial Paste:=xlPasteAll, Transpose:=True '转置粘贴到Sheet2表的E列

        Range("A" & i).Resize(3, 3).Copy '复制数据区

        Sheet2.Range("F" & irow).PasteSpecial Paste:=xlPasteAll, Transpose:=True '转置粘贴到Sheet2表的F列

    Next

End Sub

追问
转置到另一工作表呢?
追答
已经给你更新了答案。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式