将工作表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张纸上所做的所有操作都将在组模式下应用到所有纸张上。
- 如果单元格范围有文本,与列A相匹配,则返回Y / N
- Excel VBA – 如何使用名称中的variables来打开用户窗体
- 无法在数据透视表中识别的DateTime(自定义)字段的最大值
- VBA锻炼两个时间戳之间有多less天,几小时,几分钟或几秒?
- Excel VBA – 根据3个标准(来自另一个工作表中的值)在一张表上填充一个列(带有通配符的复杂IF和相关VBA)
- 如何解决太多的值,以解压在Python中,当我试图发送多个列从Excel文件function?
- 如何使用VBA将Excel单元格设置为当前date?
- 使用Python 3.5parsing所有Excel公式的最快方法
- 用LinqToExcel导入数据 – 只读属性