[算表] VBA的Array問題...
軟體: Excel
版本: 2013
VBA新手快被陣列搞昏惹Q_Q
我有一個UserForm如下,大意上就是有兩個TextBox
然後按輸入之後會把TextBox_A和TextBox_B放到TextBox_Total裡面
而因為這兩個值之後還會有用,所以要把兩個值順便放進arr1()和arr2()裡面
┌─────────┐ ┌─────────┐
│┌───────┐│ │┌───────┐│
││ TextBox_A ││ ││TextBox_Total1││
│└───────┘│ │└───────┘│
│┌───────┐│ │┌───────┐│
││ TextBox_B ││ ││TextBox_Total2││
│└───────┘│ │└───────┘│
│ ┌────┐│ └─────────┘
│ │ 輸入 ││
│ └────┘│
└─────────┘
VBA如下:
Dim arrA() as string
Dim arrB() as string
If TextBox_A <> "" and TextBox_B <> "" then
If TextBox_Total1 = "" then
ReDim Preserve arrA(1)
arrA(1) = TextBox_A
ReDim Preserve arrB(1)
arrB(1) = TextBox_B
TextBox_Total1 = TextBox_A & TextBox_B
Else
ReDim Preserve arrA(2)
arrA(2) = TextBox_A
ReDim Preserve arrB(2)
arrB(2) = TextBox_B
TextBox_Total2 = TextBox_A & TextBox_B
End If
End If
當我Run第一次的時候,arrA(1) = TextBox_A和arrB(1) = TextBox_B都很正常
當輸入第二組時,arrA(2) = TextBox_A和arrB(2) = TextBox_B也是正常
!!!!!!But!!!!!!!!!
這時候的arrA(1)和arrB(1)的值卻變成空白了Q___Q這是怎麼回事
ReDim有加上Preserve不是應該會保留前面陣列中的值嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.185.248.104 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1612626254.A.492.html
→
02/07 08:43,
5年前
, 1F
02/07 08:43, 1F
→
02/07 08:43,
5年前
, 2F
02/07 08:43, 2F
→
02/07 08:43,
5年前
, 3F
02/07 08:43, 3F
→
02/07 08:43,
5年前
, 4F
02/07 08:43, 4F

我這段Code是在Private Sub Buttom_Click()底下的
如果要把Dim arrA() 和 Dim arrB()移到UserForm的其他Sub底下
反而會提示說arrA(1) arrB(1)沒有定義變數耶@@a
→
02/07 11:36,
5年前
, 5F
02/07 11:36, 5F
→
02/07 11:43,
5年前
, 6F
02/07 11:43, 6F
喔喔喔!!!原來可以這樣放@@!!!
我一直以為所有的Code就是要放在Sub ~ End Sub這中間
太感謝惹XDDD這樣可以順便整理一下我的Code了
※ 編輯: tinkens (111.185.248.104 臺灣), 02/07/2021 11:46:25
Office 近期熱門文章
PTT數位生活區 即時熱門文章
165
246