[问题] OLEObjects自动清空阵列?

楼主: edmund71405 (饼干小舖)   2022-06-01 17:14:35
(若是和其他不同软件互动之问题 请记得一并填写)
软件:EXCEL
版本:2010
测试代码如下
Dim DataDetel()
定义公用阵列DataDetel
Private Sub Worksheet_Activate()
If GetData() Then
DataDetel() = data()
Combobox1.Column = DataDetel()
End If
说明一下GetData是从数据库取得资料
放到公用阵列DataDetel里面
且将资料的第一列放到Combobox1的下拉列表中
For i = 21 To UBound(DataDetel, 2)
Range("B" & i) = DataDetel(0, i - 21)
Range("C" & i) = DataDetel(4, i - 21)
Range("D" & i) = DataDetel(1, i - 21)
Set xobj = Me.OLEObjects.Add("forms.checkbox.1")
With xobj
.Top = Range("A" & i).Top
.Left = Range("A" & i).Left
.Height = Range("A" & i).Height
.Width = Range("A" & i).Width
.name = "C_" & DataDetel(6, i - 21)
.Object.Caption = ""
End With
Set xobj = Nothing
Next
用VBA建立核取方块,并以DataDetel的第六列资料作为控件名称
End Sub
Private Sub Combobox1_Change()
当我在此想要取用DataDetel的值时,却发现阵列已经被清空
如果注解OLEObject整段代码就能够在此正常的使用阵列资料
是为何?要如何解决这个问题?
另外询问只要使用OLEObject就进不了中断怎么除错?
End Sub

Links booklink

Contact Us: admin [ a t ] ucptt.com