【发布时间】:2019-01-16 21:00:49
【问题描述】:
我在工作簿中有不同的工作表。在“C1”的每个工作表中,我希望将一个值应用于从“K8”开始直到最后一行数据的所有行。我想为每张纸做这个。
我已经成功地复制并粘贴了每张纸的值。但是将值填充到数据的末尾对我来说是棘手的部分。
Selection.AutoFill 仅适用于活动工作表。它完成了正确的工作,但所有其他工作表都只填充了“K8”。
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
If (sh.Name <> "bla") And (sh.Name <> "blub") Then
With sh
sh.Range("C1").Copy
sh.Range("K8").PasteSpecial Paste:=xlPasteValues
Selection.AutoFill Destination:=Range(Selection, ActiveCell.Offset(0, -1).End(xlDown).Offset(0, 1))
End With
End If
Next sh
我想让自动填充部分适用于工作簿中的所有工作表。任何人都可以帮忙吗?
【问题讨论】:
-
不要使用
Selection。而是指定特定工作表sh和sh.Range("K8")之类的范围。另见How to avoid using Select in Excel VBA