[問題] OLEObjects自動清空陣列?

看板Office作者 (餅乾小舖)時間1年前 (2022/06/01 17:14), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 2.58.242.156 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1654074877.A.BE9.html
文章代碼(AID): #1Ybotzlf (Office)