将工作表1上的行复制到所有现有工作表

我有一个30页的Excel文件,其中包含相同的第一行。 我正在寻找一种代码/方式来复制图纸1中的第一行,并将其粘贴到所有现有的图纸上。

行定期更换,通过这种方式,我只需要调整一次。

你可以使用.FillAcrossSheets来做到这一点:

 Sub CopyToAllSheets() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") Sheets.FillAcrossSheets ws.Range("1:1") End Sub 

请注意,您可以使用可选的types参数指定要复制的内容:

  • 复制这两个内容和格式= xlFillWithAll
  • 仅复制内容= xlFillWithContents
  • 仅复制格式= xlFillWithFormats

默认是xlFillWithAll 。 如果您想使用其他选项之一,请执行以下操作:

 ' copy contents Sheets.FillAcrossSheets ws.Range("1:1") xlFillWithContents 

要么

 ' copy formats Sheets.FillAcrossSheets ws.Range("1:1") xlFillWithFormats 

如果您不想复制到工作簿中的每张工作表,则可以指定一个目标工作表的列表,如下所示:

 Sub CopyToSpecificSheets() Dim wb As Workbook Dim ws As Worksheet Dim targetSheets As Variant Set wb = ThisWorkbook Set ws = wb.Sheets("Sheet1") ' the sheet we are copying from must be included in the array targetSheets = Array(ws.Name, "Sheet2", "Sheet4") wb.Sheets(targetSheets).FillAcrossSheets ws.Range("1:1") End Sub 

可以做一个简单的方法,假设你有标准的三张表(Sheet1,Sheet2,Sheet3)

执行工作表1中的所有更改,然后单击工作表2,Shift +单击工作表3。

在单元格A1中键入= sheet1!a1

把它复制到你需要的地方。

select工作表1(删除分组)

现在工作表2和3将具有相同的顶行。 这适用于excel支持的页数。 因此,点击工作表2,然后移动点击工作表50将填写工作表2 – 工作表50范围内的所有工作表

考虑这样的事情:

 Sub qwerty() Dim r As Range Set r = Sheets(1).Range("1:1") For n = 2 To Sheets.Count r.Copy Sheets(n).Range("A1") Next n End Sub 

您可以尝试以下操作:单击并按住键盘上的“Shift”,然后用鼠标单击最后一个工作表。 你会注意到所有的工作表将被分组(注意Excel文件顶部关键字“Group”)。 现在,您在1张纸上所做的所有操作都将在组模式下应用到所有纸张上。