Private Sub ComboBox1_Change() Sheets("sheet1").Range("$A$1").Value = ComboBox1.Text End SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$1" Then ComboBox1.Text = "手工数据" End If End Sub
Private Sub ComboBox1_Change() Range("A2").Value = ComboBox1.ValueEnd Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False, xlA1) = "A2" Then ComboBox1.Text = "手工数据" End If End Sub 第2条是什么意思。像A2中输入数据时,combbox1中显示“手工数据”这几个字,还是显示手工入力的数据。
TO: fvflove 先膜拜一下大牛,请教为什么在 Worksheet_Change写如下的代码会使 A1单元格 和 组合框 发生相互循环导致组合框中记录不能正常显示??高手能否推荐一两本VBA的好书?谢谢~
Private Sub ComboBox1_Change()
Sheets("sheet1").Range("$A$1").Value = ComboBox1.Text
End SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
ComboBox1.Text = "手工数据"
End If
End Sub
Range("A2").Value = ComboBox1.ValueEnd Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False, xlA1) = "A2" Then
ComboBox1.Text = "手工数据"
End If
End Sub
第2条是什么意思。像A2中输入数据时,combbox1中显示“手工数据”这几个字,还是显示手工入力的数据。
先膜拜一下大牛,请教为什么在 Worksheet_Change写如下的代码会使 A1单元格 和 组合框 发生相互循环导致组合框中记录不能正常显示??高手能否推荐一两本VBA的好书?谢谢~
用这个会出问题的.解释: Worksheet_Change 事件中 更改为 ComboBox1.Text 为 "手工数据" 这时候会引发 Combobox1 的 Change 事件.而
ComboBox1_Change() 中 更改了 Range("A2").Value 的数据是 ComboBox1.Value
这时 引发了 Worksheet_Change 事件'''''......循环中.
你看一下我用的是:
Worksheet_SelectionChange 事件.