在Excel中复制记录

在Excel中复制记录,excel,vba,Excel,Vba,我在Excel中有一组行,其中包含特定月份的数据。月份由一个名为“月”的列标识,该列中的数据格式为mm/yyyy 现在,我希望在接下来的11个月中,每个月都垂直复制这些记录,并且每次复制时,该月的月行都应该更改(例如,第二次复制时,月行应该显示二月,然后是下一次三月,等等) 除了复制和粘贴11次以及手动更改月份之外,最好的方法是什么?偏移方法只需将两个公式复制到新的工作表上即可设置扩展数据集 此示例假定 您当前的工作表称为sheet1 月数据mm/yyyy从第2行开始,在A列中 更改下面两个

我在Excel中有一组行,其中包含特定月份的数据。月份由一个名为“月”的列标识,该列中的数据格式为
mm/yyyy

现在,我希望在接下来的11个月中,每个月都垂直复制这些记录,并且每次复制时,该月的月行都应该更改(例如,第二次复制时,月行应该显示二月,然后是下一次三月,等等)


除了复制和粘贴11次以及手动更改月份之外,最好的方法是什么?

偏移方法只需将两个公式复制到新的工作表上即可设置扩展数据集

此示例假定

  • 您当前的工作表称为sheet1
  • 月数据mm/yyyy从第2行开始,在A列中
更改下面两个公式中的工作表名称和列很容易,如果要提取的数据是从第3行而不是第2行开始的,则将所有
row()-2)
更改为
row()-3)

虽然第一个看起来比实际情况更混乱(加上1个月),但概念很简单。偏移方法仅每12行从图纸1向下移动一个单元格,每个单元格调整月份

  • 在A2看跌期权中,
    =日期(年(抵销表1!A$2,INT((ROW()-2)/12),0)),月(抵销表1!A$2,INT((ROW()-2)/12),0))+MOD(ROW()-2,12),日(抵销表1!A$2,INT((ROW()-2)/12),0))
  • 在B2 put中,
    =偏移量(Sheet1!B$2,INT((ROW()-2)/12),0)
    ,并尽可能多地复制字段

  • 偏移方法只需将两个公式复制到新工作表中即可设置扩展数据集

    此示例假定

    • 您当前的工作表称为sheet1
    • 月数据mm/yyyy从第2行开始,在A列中
    更改下面两个公式中的工作表名称和列很容易,如果要提取的数据是从第3行而不是第2行开始的,则将所有
    row()-2)
    更改为
    row()-3)

    虽然第一个看起来比实际情况更混乱(加上1个月),但概念很简单。偏移方法仅每12行从图纸1向下移动一个单元格,每个单元格调整月份

  • 在A2看跌期权中,
    =日期(年(抵销表1!A$2,INT((ROW()-2)/12),0)),月(抵销表1!A$2,INT((ROW()-2)/12),0))+MOD(ROW()-2,12),日(抵销表1!A$2,INT((ROW()-2)/12),0))
  • 在B2 put中,
    =偏移量(Sheet1!B$2,INT((ROW()-2)/12),0)
    ,并尽可能多地复制字段

  • 令人惊讶的是,Excel 2007(我只有一个可用)将mm/yyyy理解为日期,因此公式
    =TEXT(日期(年(A2),月(A2)+1,1),“mm/yyyy”)
    创建下一个日期,并且可以向下复制。

    复制其他数据只需将值设置为
    =B2
    等等,令人惊讶的是,Excel 2007(我只有一个可用的)将mm/yyyy理解为日期,因此公式
    =TEXT(日期(年(A2),月(A2)+1,1),“mm/yyyy”)
    创建下一个日期,并且可以向下复制。

    复制其他数据只不过是将值设置为
    =B2
    等等

    看起来我误解了OP的问题。你的问题似乎更像是需要完成的任务……看起来我误解了OP的问题。你的任务似乎更可能需要完成…我会复制11次,而不是编写宏。。。11重复(如果这是300 ID考虑其他事情)来处理月份问题不是那么糟糕,我会先分开一年或一年,要么手动或by =年()和= Munth-()函数。为了便于辩论,假设你有36条记录。所以原始数据以第37行结尾(假设第一行是标题)。然后在第38行,输入公式,比如=a2+1,这样我就得到了下一个月。把这个复制下来,这样你就得到了36行相同的数字,一行一行地递增,然后再递增36行,以此类推。复制此内容有两种非手动复制/粘贴解决方案。(1) 如果您有偏好,23可以编写代码(2),在单独的工作表上使用偏移公式,并通过一些操作将月份添加到日期列中。你有偏好吗?我会复制11次,而不是写宏。。。11重复(如果这是300 ID考虑其他事情)来处理月份问题不是那么糟糕,我会先分开一年或一年,要么手动或by =年()和= Munth-()函数。为了便于辩论,假设你有36条记录。所以原始数据以第37行结尾(假设第一行是标题)。然后在第38行,输入公式,比如=a2+1,这样我就得到了下一个月。把这个复制下来,这样你就得到了36行相同的数字,一行一行地递增,然后再递增36行,以此类推。复制此内容有两种非手动复制/粘贴解决方案。(1) 如果您有偏好,23可以编写代码(2),在单独的工作表上使用偏移公式,并通过一些操作将月份添加到日期列中。你有偏好吗?