所以我已经在互联网上搜索了这个小宏观,但我没有运气弄清楚我做错了什么。我知道答案很简单,但它确实超出了我的范围。目标是让一个复选框从单独的工作表中插入多行,如果取消选中该复选框,则删除这些相同的行。复制和插入功能工作正常,但我不知道如何写行要删除的行范围。下面的代码显然不正确,因为rngD被指定用于测试。 rngD应该是复选框下方的7行,或者可能有更好的方法。非常感谢您查看此内容,我对任何建设性的批评持开放态度。
在Excel 2013中工作
Sub Insert_LL()
Dim ws As Worksheet
Dim chkB As CheckBox
Dim rngA As Range
Dim rngD As Range
Dim lRow As Long
Dim lRowD As Long
Dim llRows As Range
Set llRows = Range("Lesson_Learned")
Set ws = ActiveSheet
Set chkB = ws.CheckBoxes(Application.Caller)
lRow = chkB.TopLeftCell.Offset(1).Row
lRowD = chkB.TopLeftCell.Offset(7).Row
Set rngA = ws.Rows(lRow)
Set rngD = ws.Rows("18:24") 'needs to specify the range of rows dependant where the checkbox is located'
Application.ScreenUpdating = False
Select Case chkB.Value
Case 1
llRows.Copy
rngA.Insert Shift:=xlDown
Case Else
rngD.Delete
End Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub