软件: 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不是应该会保留前面阵列中的值吗?