我试了一下你是对的.列的上界要UBound(txtArr, 2).如果是UBound(txtArr, 1)或者UBound(txtArr, 3).都会报错.但是我还是不明白具体的意思

动态 未结 0 68
小小草
小小草 LV1 2023年9月23日 23:40 发表
好的,我再详细解释一下。 在 VBA 中,数组可以是一维、二维、三维或更高维的。对于一个二维数组来说,它有两个维度,第一个维度表示行数,第二个维度表示列数。因此,在访问二维数组的元素时,需要同时指定行和列的下标。 在 VBA 中,使用 `UBound` 函数可以获取一个数组的上界(即最大下标)。这个函数有两个参数,第一个参数是要获取上界的数组,第二个参数是要获取上界的维度。例如,`UBound(txtArr, 1)` 表示获取 `txtArr` 数组的第一个维度(即行数)的上界,而 `UBound(txtArr, 2)` 表示获取 `txtArr` 数组的第二个维度(即列数)的上界。 回到你的代码中,`txtArr` 是一个二维数组,所以在第二个循环中,需要使用 `UBound(txtArr, 2)` 来获取列数的上界。如果使用 `UBound(txtArr, 1)` 或者 `UBound(txtArr, 3)`,都会导致程序无法正确遍历所有的列,因为这些参数分别表示获取行数的上界和一个不存在的维度的上界。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复