軟體: 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不是應該會保留前面陣列中的值嗎?