将值复制并粘贴到工作簿中每个工作表的数据表末尾

时间:2019-01-16 12:29:39

标签: excel vba

我在工作簿中有不同的工作表。我想在“ 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

我想让工作簿中所有工作表的自动填充部分起作用。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

不清楚如何定义最后一行。我已将J用作参考列,因此请更改为适合。正如PEH所说,使用Select(ion)就像

Sub x()

Dim sh As Worksheet, n As Long

For Each sh In ActiveWorkbook.Worksheets
    If (sh.Name <> "bla") And (sh.Name <> "blub") Then
        With sh
            n = .Range("J" & Rows.Count).End(xlUp).Row
            .Range("K8:K" & n).Value = .Range("C1").Value
        End With
    End If
Next sh

End Sub