1

我需要帮助。

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

  • 组织
  • 节目名称
  • 2012(年)
  • 2013(年)
  • 2014(年)

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

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

  • 组织
  • 节目名称

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

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

谢谢

4

1 回答 1

3

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

在此处输入图像描述

你想要

在此处输入图像描述

这是非常粗糙但经过测试的 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

如果您需要更多解释或更好的代码,请告诉我。

于 2012-08-19T22:26:13.383 回答