|
本帖最后由 xuerfu 于 2015-6-30 09:13 编辑
If Worksheets("数据库").Cells(i, 27) = 1 Then 'i: “选择”按钮的点击次数
'第一次选择时执行的语句:
r = ListBox3.ListCount - 1 '列表框中总条目数
For n = 0 To r '循环列表框项目,找出列表中的第n个项目
m = m & ListBox3.List(n) & " " '累计列表中的所有项目
Next
If r = -1 Then '如果已选框为空
MsgBox "请依次选择体检科室→体检项目!"
Else '已选框有项目时
Set rng = Sheets("临时表").Cells(Rows.Count, 15).End(xlUp) 'O列的最后一个非空单元格。
Worksheets("临时表").Cells(1, 15) = m '将已选框中的体检项目写入临时表(1行,15列)
MsgBox "该组体检项目成功保存!请继续进行下组体检项目的选择!"
End If
Else '第二次选择时执行的语句
Dim Msg As Integer
Msg = MsgBox("是否需要修改数据?", vbYesNo) '是、否
If Msg = 6 Then '选择了“是”
'清空行
Else '选择了“否”
'关闭对话框
End If
End If
以上代码中:执行第一次时,M的值写入了O1。执行第二次写入时,数据为啥还是写在O1?因为第二次写入时,非空单元格应该在O2啊。
Set rng = Sheets("临时表").Cells(Rows.Count, 15).End(xlUp) '第二次写入时非空单元格应该为O2
Worksheets("临时表").Cells(1, 15) = m '第二次时、数据应该写入O2,为啥还是写在了O1?
谢谢!
|
|