Private Sub CheckBox1_Click() '回收
End Sub
Private Sub CommandButton1_Click() '立即结算
End Sub
Private Sub TextBox1_Change() '克重
End Sub
Private Sub TextBox2_Change() '金价
End Sub
PS:业务需要,有时需要输入回收的克重跟金价,上面如果不需要输入,则点“立即结算”,则运行之后的公式,如果需要输入,则要“回收”打钩,然后写入“克重”跟”金价”,再点“立即结算”,则“克重”输入到Target.offset(0,19),“金价”输入到Target.offset(0,20)下面是主代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 16 Or Target.Count > 1 Then Exit Sub
If Target.Offset(0, 6) <= 1 And Target.Offset(0, -2) <> "" Then
UserForm2.Show
Target.Offset(0, -5) = Target.Offset(0, -2) * (Target.Offset(0, -11) + Target.Offset(0, -7))
Target.Offset(0, 5) = Target.Offset(0, -1) + Target.Offset(0, 4) * Target.Offset(0, 3) - Target.Offset(0, -5)
End Sub
这个已经是搞定的了,这里你回答个问题分数你的,就是窗体,不是有个关闭嘛,然后要写如果按关闭,则在工作簿的代码中,“窗体.show”之后的代码,全部停止或取消,这里是工作簿的代码使用到“窗体.show”哟,能理解我的意思吧
追答建议把之后的代码写到CommandButton1_Click事件里面去,如果用户按了关闭窗口,则不会运行按钮事件里面的代码
追问Dim r
r = Workbooks("月结销售盈利表.xlsm").Sheets("银饰及其他已售").UsedRange.Rows.Count + 1
Target.EntireRow.Copy Workbooks("月结销售盈利表.xlsm").Sheets("银饰及其他已售").Rows(r)
上面这个语句怎么写到CommandButton1_Click事件里面去呢?
你需要在模块里写一个公共变量,用来传递target
比如这样:
public myrng as range然后在worksheet_change里面把target传递给myrng
Private Sub Worksheet_Change(ByVal Target As Range)最后在CommandButton1_Click事件里直接用myrng进行处理
Private Sub CommandButton1_Click() '立即结算已经用了窗体了,看之前人家帮我编的窗体,然后第一次自己编窗体,全部搞定了,这里也是想学窗体