难道没人会?

iseelxj 2005-11-01 03:40:23
在excel中实现
1. 在sheet1中生成一个combobox
2. 在生成的combobox中加入“1”“2”“3”三条。
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2005-11-03
  • 打赏
  • 举报
回复
并不是很难:

下面的代码可以使你在单元格变动时都加一个含1,2,3 选项的combobox:

Sub createcombo()
Dim obj As OLEObject
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, Height:=ActiveCell.Height)
obj.Visible = True
Dim num As Integer
On Error Resume Next
For Each obj In ActiveSheet.OLEObjects
If InStr(obj.Name, "ComboBox") > 0 Then num = num + 1
Next
ActiveSheet.OLEObjects("ComboBox" & num).Object.List = Array(0, 1, 2)
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
createcombo
End Sub

而要满足你的要求,这就够了:
Private Sub Worksheet_Activate()
Dim obj As OLEObject
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, Height:=ActiveCell.Height)
obj.Visible = True
ActiveSheet.OLEObjects("ComboBox1").Object.List = Array(0, 1, 2)
End Sub
xinliangyu 2005-11-03
  • 打赏
  • 举报
回复
第二步做不来
viena 2005-11-01
  • 打赏
  • 举报
回复
没有~

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧