【问题标题】:Create Multiple Rows Based on Columns基于列创建多行
【发布时间】:2012-08-20 06:26:13
【问题描述】:

我需要帮助。

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

  • 组织结构
  • 程序名称
  • 2012(年)
  • 2013(年)
  • 2014(年)

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

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

  • 组织结构
  • 程序名称
  • 年份

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

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

谢谢

【问题讨论】:

    标签: excel


    【解决方案1】:

    如果我理解正确,你有:

    你想要

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      相关资源
      最近更新 更多