基于列创建多行

时间:2012-08-19 19:20:09

标签: excel

我需要帮助。

我有一个带有近似列结构的Excel文件:

  • 组织
  • 计划名称
  • 2012(年)
  • 2013(年)
  • 2014(年)

在这个初始构造中,每一行都是它自己的程序名(即每个程序只有一行)。每个预算年度都有自己的专栏,其中输入了给定年份的预算数据。

我需要用单个YEAR列替换单个年份列:

  • 组织
  • 计划名称
  • YEAR

在此设置中,每个计划预算都会有单独的行 - 因此每个程序每年会有多行。

我在原始构造中有3,000行,我需要切换到新格式才能提供我的数据可视化工具 - 否则它不会将每个列识别为单个维度(年份)。

由于

1 个答案:

答案 0 :(得分:3)

如果我理解这一点,你有:

enter image description here

你想要

enter image description here

这是一个非常粗略但经过测试的VBA代码,可以帮助您入门。我不确定你是否有VBA经验。

    Sub xxx()

    Sheets("Sheet1").Select

    Dim x As Integer
    x = 2

    For a = 2 To 3000

        Sheets("Sheet1").Select
        org = Range("A" & a).Value
        prog = Range("B" & a).Value
        y1 = Range("C" & a).Value
        y2 = Range("D" & a).Value
        y3 = Range("E" & a).Value

        Sheets("Sheet2").Select

        Range("A" & x).Value = org
        Range("B" & x).Value = prog
        Range("C" & x).Value = y1
        Range("C" & x + 1).Value = y2
        Range("C" & x + 2).Value = y3

        x = x + 3

    Next a

End Sub

如果您需要更多解释或更好的代码,请与我们联系。