用于从不同 Sheet 复制和粘贴文本的表单控件复选框

Form Control Checkbox to Copy and Paste Text from a Different Sheet

我正在寻找一种方法,可以在勾选表单控件复选框时将文本从一个 sheet 复制并粘贴到另一个,并在取消选中时将其删除。目前我写的宏什么都不做,它没有出现任何错误它只是不起作用。我到目前为止是:

Sub CheckBox3_Click()    

Application.ScreenUpdating = False


If CheckBox3 = True Then

Sheets("Data Sheet").Activate
Range("B1").Select
Selection.Copy
Sheets("Sheet1").Select
Range("C1").Select
ActiveSheet.Paste

Application.ScreenUpdating = True

End If

If CheckBox3 = False Then

ActiveSheet.Range("C1").Select
Selection.Delete

End If

End Sub

如有任何帮助,我们将不胜感激。

要解决您的运行时错误,请将您的代码更改为

ActiveSheet.Range("B1").Select

并对目标范围 C1 执行相同操作

然而,更优雅的方法是通过使用 VBA 而不是 "macro recording" 一起摆脱 SelectActivate ...使用 Range将简化代码的对象,避免混乱的屏幕跳转等...

Private Sub CheckBox1_Click()
Dim SrcRange As Range, TrgRange As Range

    Set SrcRange = Worksheets("Data Sheet").[B1]
    Set TrgRange = Worksheets("Sheet1").[C1]

    If CheckBox1 Then
        TrgRange = SrcRange
    Else
        TrgRange = ""
    End If
End Sub