繁体   English   中英

Excel vba - 行到列并保留第一列

[英]Excel vba - rows to columns and keeping first columns

我正在制定一年的计划,其中前 3 列中有标签,然后是下一列中 12 个月的值。 我想在 12 个月内将这些值放在另一个之下,并为每个月重复标签,然后继续下一个记录。 我相信它应该有一个循环,但我不确定如何制作它。

截屏

我的数据看起来像屏幕截图上表 A 中的数据 我必须使它看起来像屏幕截图上的表 B

为了移动/复制列中行的值,您可以像在我的下一个代码示例中一样使用 Transpose 函数:

   Dim rng1 As Range, rng2 As Range, arr1 As Variant, arr2 As Variant
   Set rng1 = Range("A1:H10"): Set rng2 = Range("J1:J8")
   arr1 = rng1.value
   arr2 = Application.WorksheetFunction.Transpose(arr1)
   rng2.value = arr2

当然可以优化代码,以便自动确定要转置的行的列数并根据它构建列范围。 我想收到一些反馈,确认(或不)这是您真正需要的。 至少,这是我可以假设查看您附加的图片......示例代码会将(第一)行( Range("A1:H10") )的内容转置到 J:J 列( Range("J1:J8") )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM