0

我是 VBA 新手,需要一些帮助来实现工具:

本质上,我想创建一个命令按钮,它会自动复制范围 D9:L18 并将其粘贴到 Q9:Y18 以用于我的活动工作表。此外,一旦我按下按钮,我希望对所有其他工作表(大约 40 个)重复此过程,但两个特定工作表除外。

你能帮我解决这个问题吗?

非常感谢您的帮助 - 非常感谢。

编辑:

Sheet.Range("D12:L18").Select@由于某种原因出现错误-也许您可以帮助我?谢谢。

Private Sub CommandButton1_Click()
    Dim Sheet As Worksheet

    For Each Sheet In ThisWorkbook.Worksheets
        If Sheet.Name <> "Definitions" And Sheet.Name <> "fx" And Sheet.Name <> "Needs" Then

            Sheet.Range("D12:L18").Select
            Selection.Copy
            Sheet.Range("Q12:Y18").Select
                Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

        End If
    Next
End Sub
4

1 回答 1

1

录制宏以复制和粘贴所需的单元格是获取代码以复制单个工作表的最佳方法。

但是要在所有工作表中完成工作,请使用以下命令:

Private Sub CommandButton1_Click() 
    Dim Sheet As Worksheet 
    For Each Sheet In ThisWorkbook.Worksheets 
        If Sheet.Name <> "Definitions" And Sheet.Name <> "fx" And Sheet.Name <> "Needs" Then 
            Sheet.Range("D12:L18").Copy 
            Sheet.Range("Q12:Y18").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
        End If 
    Next 
End Sub

要添加按钮,请转到developerexcel 中的选项卡,添加一个ActiveX按钮。设计模式将被打开。双击该按钮,单击它时要运行的代码将显示在 VBA 编辑器中。将您的复制代码放在Private Sub YourButtonName_Click()方法中。

要使按钮工作,请关闭设计模式。(这是在 excel 窗口的开发人员选项卡中完成的)

于 2013-05-22T13:59:09.287 回答