【问题标题】:copy & paste value to the end of datatable for each worksheet in workbook将值复制并粘贴到工作簿中每个工作表的数据表末尾
【发布时间】: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

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

【问题讨论】:

标签: excel vba


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多