我是VBA的新手,需要一些实施工具的帮助:
基本上,我想创建一个CommandButton,它自动复制范围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
答案 0 :(得分: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
要添加按钮,请转到Excel中的developer
标签,添加ActiveX
按钮。
设计模式将打开。双击该按钮,单击它时要运行的代码将显示在VBA编辑器中。将您的复制代码放在Private Sub YourButtonName_Click()
方法中。
要使按钮工作,请关闭设计模式。 (这是在excel窗口的开发人员选项卡中完成的)