[問題] Excel VBA建立多維陣列的問題
軟體: Office 365 Excel
今天開始接觸VBA,嘗試了幾種方式建立多維陣列,最後查到了這種方式,
可以讓我一次用多行程式碼建立多維陣列,程式碼如下:
Dim myarray2 As Variant
myarray2 = _
Evaluate("{""AAA"",""BBB"",1,False,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""d"",""e"",1,True,False}")
Debug.Print ("UBound(myarray2, 1)=" & UBound(myarray2, 1))
Debug.Print ("UBound(myarray2, 2)=" & UBound(myarray2, 2))
但是如此建立的多維陣列,裡面的字串(如"A","B")只要太長,後面Debut.Print
就會出問題。
會跳出視窗顯示"執行階段錯誤13,型態不符合"
我猜測可能是整個Evaluate內的字串超過VBA對字串長度的限制?
但是如果用
myarray(0,1)="ABC"
這種方式一行一行設定的話,設定完我要的整個陣列大概要破百行,
實在不想要讓程式碼這麼冗長。
請問有什麼方式可以讓我用可以換行的方式建立二維陣列,同時程式碼又不會太冗長呢?
非常感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.254.239
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1550940531.A.317.html
→
02/24 09:58,
7年前
, 1F
02/24 09:58, 1F
→
02/24 09:58,
7年前
, 2F
02/24 09:58, 2F
→
02/24 10:08,
7年前
, 3F
02/24 10:08, 3F
→
02/24 10:08,
7年前
, 4F
02/24 10:08, 4F
謝謝您,看來用一個儲存格來放資料的確是比較好的方式。
因為初次使用VBA,請問有辦法是類似把整個巨集跟含有我事先設定好的儲存格檔案
包成一包,方便未來要用來處理新檔案時都能直接使用,或是類似的簡便方案嗎?
這樣未來使用巨集時就不會說因為少了一個儲存格檔案而無法使用,謝謝
※ 編輯: homelife (1.169.254.239), 02/24/2019 17:43:11
→
02/24 17:57,
7年前
, 5F
02/24 17:57, 5F
→
02/24 17:58,
7年前
, 6F
02/24 17:58, 6F
→
02/24 17:59,
7年前
, 7F
02/24 17:59, 7F
→
02/24 18:43,
7年前
, 8F
02/24 18:43, 8F
→
02/24 18:43,
7年前
, 9F
02/24 18:43, 9F
您好,因為最後處理完成的檔案不希望包含這些儲存格資料,所以我優先考慮您說的
增益集方式,有成功存成增益集並且也可以在新的檔案中勾選到我存的增益集,
雖然在VBA介面中的Excel物件資料夾裡看得到我原本存資料用的工作表,
但巨集在執行時到了讀取工作表的部分就會讀不到,也許我用的程式碼只能
讀取當下檔案中的工作表? 附上我用的程式碼:
Dim JSheet As Worksheet
Set JSheet = Worksheets("工作表名稱") '到了這裡就會停止
當然最後手段就是用一個寫好巨集的工作表來處理新檔案,但還是想問問看目前增益集
的方式是否有可能成功呢? 不知道是否有語法或方式可以達成用增益集的方式?
謝謝!
※ 編輯: homelife (1.169.254.239), 02/25/2019 02:47:15
→
02/25 06:58,
7年前
, 10F
02/25 06:58, 10F
→
02/25 06:58,
7年前
, 11F
02/25 06:58, 11F
照著您的方式,我最後試成功的語法是 ThisWorkbook,整句是這樣:
Set JSheet = ThisWorkbook.Worksheets("工作表名稱")
感謝你!
※ 編輯: homelife (1.169.254.239), 02/25/2019 16:18:13
Office 近期熱門文章
PTT數位生活區 即時熱門文章