|
楼主 |
发表于 2018-12-6 20:43
|
显示全部楼层
我自己写了一晚,终于测试顺畅了,还是感谢你的帮忙!
我还是把代码分享出来,虽然很笨的一串代码。也许能帮到别人。
Sub 结算按钮()
'
' 结算按钮 Macro
'
row_count = 0 '定义记录被选中的复选框数
'循环得到选中的复选框数
Dim chk As Excel.CheckBox
Application.ScreenUpdating = False
For Each chk In ActiveSheet.CheckBoxes
If chk.Value = 1 Then row_count = row_count + 1
Next
'循环插入数据
For r = 1 To row_count Step 1
m = Sheets("员工菜单").Range("A65536").End(xlUp).Row + 1 '员工菜单起始新数据插入行数
Sheets("员工菜单").Cells(m, 1) = ActiveSheet.Cells(r + 5, 2) '将第6到5+row_count行第二列到第7列的数据插入到员工菜单的第m行第1到6列
Sheets("员工菜单").Cells(m, 2) = ActiveSheet.Cells(r + 5, 3)
Sheets("员工菜单").Cells(m, 3) = ActiveSheet.Cells(r + 5, 4)
Sheets("员工菜单").Cells(m, 4) = ActiveSheet.Cells(r + 5, 5)
Sheets("员工菜单").Cells(m, 5) = ActiveSheet.Cells(r + 5, 6)
Sheets("员工菜单").Cells(m, 6) = ActiveSheet.Cells(r + 5, 7)
Next r
Dim chkBox As Excel.CheckBox '清空复选框
Application.ScreenUpdating = False
For Each chkBox In ActiveSheet.CheckBoxes
chkBox.Value = xlOff
Next chkBox
Application.ScreenUpdating = True
Range("D6:D38").ClearContents '清空重量
Range("F6:F38").ClearContents '清空折扣
End Sub |
|