求VBA高手 ComboBox 自动出现在单元格,选择值后自动赋值给当前单元格的问题 50

VBA代码如下:PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)TT=Cells(Target.Row,Ta... VBA代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
TT = Cells(Target.Row, Target.Column).Address
' MsgBox TT
If Target.Column = 6 Then
With Me.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

Private Sub ComboBox1_Change()

If ComboBox1.Text <> "" Then

Range(TT) = ComboBox1.Text
'MsgBox TT

End If
'Me.ComboBox1.Visible = False
End Sub

其中TT是全局变量
Public TT As String

现在存在的问题是,我点击第6列,然后选择一个值后,再点选下一个第6列的其他单元格,下拉选框要点击2次才出现,请高手帮我解决问题.我使用的是excel 2010.
如果把ComboBox1_Change去掉就不会间隔出现下拉选框
还有另外一个问题就是怎么ComboBox1.top 调整到自动出现在单击的单元格下面而不是盖住单元格?

PS:请不要跟我说用 数据有效性做,可以用的话我一早就用了.

我的意图是做类似数据有效性的下拉列表, 除了可以选择下拉列表中的条件填充单元格,另外也可以自己填写自定义的内容到单元格里面.
展开
 我来答
docky627
2014-05-04 · TA获得超过223个赞
知道答主
回答量:168
采纳率:0%
帮助的人:66.4万
展开全部
使用动态数据有效性取代combobox可以解决上面的所有问题。
数据有效性取自工作表格2
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim s As String
Dim i As Integer
Dim n As Integer
n = Worksheets(2).Range("A500").End(xlUp).Row
If n = 1 Then
s = Worksheets(2).Range("A1")
Else
s = Worksheets(2).Range("A1")
For i = 2 To Worksheets(2).Range("A500").End(xlUp).Row
s = s & "," & Worksheets(2).Range("A" & i)
Next i
End If
If Target.Column = 6 Then
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=s
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End If
End Sub
追问
数据有效性可以不能解决我的问题吧?我后面补充了,我要填的内容是2中情况,如果在下拉列表可以找到,则直接选择,如果下拉列表找不到,则自己手工填写.数据有效性不能填充我自己手工填写的内容吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式