|
本帖最后由 dongjuwen 于 2019-9-30 19:14 编辑
Private Sub CmdOk_Click() '写入工作表
'ar和br各元素名称是窗体各控件的name属性
ar = Array("日期", "当日单号", "一级类目", "二级类目", "三级类目", "对方单位", "概要", "所属项目", "经办人", "付款人", "资金来源")
'br数组元素为“不能为空的控件”,可根据需要增加/删除
br = Array("日期", "一级类目", "二级类目", "经办人", "付款人", "资金来源", "对方单位", "所属项目")
For i = 0 To UBound(br)
If Me.Controls(br(i)) = "" Then
MsgBox "请录入:" & br(i), vbCritical, "友情提示"
Me.Controls(br(i)).SetFocus
Exit Sub
End If
Next
Dim xrow As Long '定义变量xrow,用来保存要输入数据的工作表行号
xrow = Range("A4").CurrentRegion.Rows.Count + 3 '求工作表中第1条空行的行号
For i = 0 To UBound(ar)
If i > 6 Then n = 4 Else n = 3'[因为表格“J列金额项”没有对应的控件,所以用n来控制控件对应到相应的单元格CDEFGHI——KLMN]
Cells(xrow, i + n) = Trim(Me.Controls(ar(i)).Value)
Next
For i = 0 To UBound(ar)
Me.Controls(ar(i)).Value = ""
Next
End Sub
因为一级类目\二级类目\三类目中有change事件。所以把清空放到数据写入单元格后再清空就可以了。 |
|