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

时间:2019-12-04 12:11:02

标签: excel vba loops

我正在计划一年,在那里我在前3列中有标签,然后在接下来的12列中有12个月的值。我想在12个月中将这些值一个接一个地放置,并在每个月重复标签,然后继续下一个记录。我相信应该有一个循环,但是我不确定如何实现。

Screenshot

我的数据类似于屏幕快照中表A中的数据 我必须使其看起来像截图中的表B

1 个答案:

答案 0 :(得分:0)

为了移动/复制列中某行的值,可以使用转置功能,如我的下一个代码示例中所示:

   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"))。