【问题标题】:Copy a range of data to all sheets of the workbook将一系列数据复制到工作簿的所有工作表
【发布时间】:2015-11-16 08:52:43
【问题描述】:

我有一个包含数据库的工作簿。

在该数据库中,我想将某行数据复制并粘贴到所有工作表中。

复制范围随着数据库中行数据的变化而变化,但每个位置的粘贴范围保持不变。

到目前为止,我有一个代码,但它只允许逐页复制粘贴,我无法在代码中定义固定范围。

在这种情况下,我希望将所选数据粘贴到每张纸的 B1:N1。

需要一些帮助才能将一个目标粘贴到所有工作表。

这是我的代码:

Dim rng As Range, inp As Range
Set rng = Nothing
Set inp = Selection
inp.Interior.ColorIndex = 37
On Error Resume Next
Set rng = Application.InputBox("Copy to", Type:=8)
On Error GoTo 0
If TypeName(rng) <> "Range" Then
    MsgBox "Cancelled", vbInformation
    Exit Sub
Else
    rng.Parent.Activate
    rng.Select
    inp.Copy
    Worksheets("Sheet2").Paste Link:=True
End If

Application.CutCopyMode = 0

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    所有工作表都需要循环吗?

        Dim ws as Worksheet
        For Each ws in ActiveWorkbook.Worksheets
            If Not ws.Name = "*Name of the database workbook *" Then    
                Call ws.Range("B1:N1").PasteSpecial(xlPasteAll, xlPasteSpecialOperationNone)
            End If
        Next
    

    【讨论】:

    • 我在 ws.Paste("B1:N1") 上获取对象工作表的方法粘贴失败
    • 试试ws.Paste(ws.Range("B1:N1"))
    • 不,我没有改变。无论如何要包含粘贴链接?
    • 我的错,实际上 Range 对象没有粘贴方法,只有工作表有它。所以它是ws.Paste Link:=Truews.Range(B1:N1).Pastespecial(见编辑)
    • 不,在您的代码中,inp 范围是指您在启动宏时选择的范围。如果你想要输入框的范围,使用 rng Range。 rng.Copy 而不是 inp.Copy 或声明 inputBox 如下:Set Inp = Application.InputBox("Copy to", Type:=8)
    【解决方案2】:
    Dim Rng As Range, _
        Inp As Range, _
        wS As Worksheet
    
    Set Inp = Selection
    Inp.Interior.ColorIndex = 37
    On Error Resume Next
    Set Rng = Application.InputBox("Copy to", Type:=8)
    On Error GoTo 0
    If TypeName(Rng) <> "Range" Then
        MsgBox "Cancelled", vbInformation
        Exit Sub
    Else
        Rng.Parent.Activate
        Inp.Copy
    
        For Each wS In ActiveWorkbook.Worksheets
            wS.Range("B1").Paste Link:=True
        Next
    End If
    
    Application.CutCopyMode = 0
    

    【讨论】:

    • 我得到的对象不支持 ws.Range("B1") 上的这个属性或方法。粘贴链接:=True
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    相关资源
    最近更新 更多