Microsoft Excel – 如何将单元格复制到每第n行不同的工作表

Microsoft Excel – 如何将单元格复制到每第n行不同的工作表。 我有一个有趣的问题。 这可能很简单,但我无法弄清楚。

我有一个单元格列表(大约10列,超过1000行,很快就会扩展)A1-A10和下面这些是我的标题和主要input单元格(我们称之为汇总表)

我需要复制这些单元格,并最好链接到相邻的工作表(详细工作表),但这样每个单元格(或10个单元格)复制到每20行。

有时我会在汇总表中添加和删除行。 因此,我希望能够使用自动填充function或某些function,如在详细工作表。 在更新我的汇总表后,可以通过自动填充公式来更新详细表格。

更详细的信息:
这些单元格复制到的每一行成为每个20行模块的标题行。 复制标题下方的19行保持空白,详细计算在右侧的19行完成。 每个部分都是一个相同的模块,其中包含许多详细的计算和每个模块中1行的结果。 目前我只使用详细工作表,添加或删除模块及其标题非常耗时。

汇总表ABCD 1#A1#B1#C1 … 2#A2#B2#C2 …
3#A3#B3#C3 …

详细资料ABCD 1#A1#B1#C1 … … 19空行21#A2#B2#C2 …
… 19个空行31#A3#B3#C3 … … … … … … … … … … … … … … … … … …程…… 19个空行

感谢您的任何答案。 马丁

在汇总表上放置一个button,并将该代码置于其后面,将表单名称和button名称更改为您要使用的名称。 然后每次你想重做细节线,点击button。 注意:我已经写了这个,所以Summary表是Sheet2,Detail表是Sheet1:

Private Sub RedoDetailedSheet_Click() Dim i As Integer, j As Integer For i = 0 To Worksheets("Sheet2").UsedRange.Rows.Count - 1 For j = 1 To Worksheets("Sheet2").UsedRange.Columns.Count Worksheets("Sheet1").Cells(20 * i + 1, j).Formula = "=Sheet2!" _ & Worksheets("Sheet2").Cells(i + 1, j).Address Next j Next i End Sub 

以下是针对特定情况的基于您的示例文件的代码。 您需要将“模型”列的格式更改为“常规”。

 Private Sub RedoDetailedSheet_Click() Dim i As Integer, j As Integer For i = 0 To Worksheets("Input").UsedRange.Rows.Count - 2 For j = 1 To Worksheets("Input").UsedRange.Columns.Count Worksheets("Output").Cells(20 * i + 29, j + 2).Formula = "=Input!" _ & Worksheets("Input").Cells(i + 2, j).Address Next j Next i End Sub 

这很容易用Excel的查找function处理 – 不需要VBA – 这使得在https://superuser.com/上更恰当地提出这个问题。

更新:我无法从MediaFire获取您的文件,但是从您最近写的Lance的代码应该为您工作。 祝你好运。