让EXCEL单元格具有下拉列表功能(ComboBox)解决方法


让EXCEL单元格具有下拉列表功能(ComboBox)
今日在做一个让EXCEL和ComboBox类似这类控件组合的文件。挺方便实用的。

1.新建一个EXCEL文件,点“视图”-》“工具栏”,选择Visual   Basic。再点VB面板的“控件工具箱”,选择一个ComboxBox控件(组件)(同时设置此控件为非打印对象,以免打印时,出现控件)。这里,你也可以选择其它控件,看你具体使用情况,可适当变动。

2.按Alt+F11,进入VBA编程界面。双击“ThisWorkbook”(就是本EXCEL对象),输入代码:

Private   Sub   Workbook_Open()
       Sheet1.ComboBox1.Visible   =   False
End   Sub

这个语句的作用是,启动EXCEL文件时,不显示控件。

再双击“Sheet1”,输入代码:

Private   Sub   ComboBox1_Change()

End   Sub

Private   Sub   ComboBox1_Click()
       Selection.Value   =   Sheet1.ComboBox1.Text
End   Sub

Private   Sub   Worksheet_SelectionChange(ByVal   Target   As   Range)
       If   Target.Column   =   6   Then   ‘这里6是说,当点击第六列时,才启动ComboBox
               With   Sheet1.ComboBox1
                       .Visible   =   True
                       .Width   =   Target.Width
                       .Height   =   Target.Height
                       .Left   =   Target.Left
                       .Top   =   Target.Top
                       .Clear
                       .AutoSize   =   True
                       .AddItem   “张三”
                       .AddItem   “李斯”
                       .AddItem   “王武”
                       .AddItem   “陶喆”
               End   With
       End   If
End   Sub
好了,这样就差不多了。你可以适当修改、扩充功能。