【分享成果,随喜正能量】人生就是一个过程,何须事事都较劲。做人,踏踏实实,心怀善良,待人真诚,问心无愧就好。。
《VBA之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第十七章 “用户窗体(Userform)的实例应用”:数据选择窗体按钮的代码
第十二节 在窗体中实现数据选择并回填给工作表(二)
在上节中我们完成了思路分析及窗体的搭建,我们这讲讲解代码的实现及实现的效果.
4 代码的实现过程及代码讲解
我们先看我给出的代码,及每段代码的讲解
1)窗体加载代码,当我们点击工作上“用户选择”按钮时,执行下面代码时将显示UserForm5:
Sub mynzD()
UserForm5.Show
End Sub
2)复选框1的点击事件,在这个事件中实现列表框1的全选与全不选,大家要注意代码的写法,这些写法是经典的,放之四海皆准。
Private Sub CheckBox1_Click()
【代码见教程】
End Sub
3)复选框2的点击事件,在这个事件中实现列表框2的全选与全不选。
Private Sub CheckBox2_Click()
【代码见教程】
End Sub
4)“添加”按钮的点击事件,这个事件中会把列表框1中的选项添加到列表框2中,利用了循环判断的方式加载每个项:
Private Sub CommandButton1_Click()
【代码见教程】
End Sub
5)“移除”按钮的点击事件,这个事件中会把列表框2中的选项移除掉,移除用的是RemoveItem
Private Sub CommandButton2_Click()
Dim counter As Integer
counter = 0
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i - counter) Then
ListBox2.RemoveItem (i - counter)
counter = counter + 1
End If
Next i
CheckBox2.Value = False
6)“确定”按钮的点击事件,这个事件中会把列表框2中的选项回填到工作表,这个事件中要首先选清空工作表中D列的数据,然后利用循环语句将列表框2中的项回填到工作表中,最后清空列表框2的列表:
Private Sub CommandButton3_Click()
Sheets("sheet5").Range("d:d").ClearContents
Sheets("sheet5").Cells(1, "d") = "用户选择"
k = 2
For i = 0 To ListBox2.ListCount - 1
Sheets("sheet5").Cells(k, "d") = ListBox2.List(i)
k = k + 1
Next
ListBox2.Clear
End Sub
7)选项按钮1的点击事件,这个事件中会把列表框1和2中的属性MultiSelect设置为0.
Private Sub OptionButton1_Click()
ListBox1.MultiSelect = 0
ListBox2.MultiSelect = 0
End Sub
待续
【分享成果,随喜正能量】评论一件事,只有设身处地,才能出言有尺,唏嘘有度;评价一个人,只有量人先量己,才能心中有德,口下留情。。