表格中插入了8列后,选择下拉菜单就会出现下标越界的错误,打开vba提示 arr(i, 2) = arr(i, 2) + arr(i, j)为黄色的,请高手帮忙解决,谢谢Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$1" Then n = Application.Match(Target.Value, Array("一季度", "二季度", "三季度", "四季度", "上半年", "下半年", "全年"), 0) With Worksheets("筹集使用表(季报)") r = .Cells(.Rows.Count, 1).End(xlUp).Row .Range("b5:c" & r).ClearContents arr = .Range("a5:cu" & r) Select Case n Case 1 To 4 For i = 1 To UBound(arr) For j = 4 + (n - 1) * 28 To 4 + (n - 1) * 28 + 27 Step 2 arr(i, 2) = arr(i, 2) + arr(i, j) arr(i, 3) = arr(i, 3) + arr(i, j + 1) Next Next Case 5 To 6 For i = 1 To UBound(arr) For j = 4 + (n - 5) * 56 To 4 + (n - 5) * 56 + 55 Step 2 arr(i, 2) = arr(i, 2) + arr(i, j) arr(i, 3) = arr(i, 3) + arr(i, j + 1) Next Next Case 7 For i = 1 To UBound(arr) For j = 4 To UBound(arr, 2) Step 2 arr(i, 2) = arr(i, 2) + arr(i, j) arr(i, 3) = arr(i, 3) + arr(i, j + 1) Next Next End Select .Range("b5").Resize(UBound(arr), 1) = Application.Index(arr, 0, 2) .Range("c5").Resize(UBound(arr), 1) = Application.Index(arr, 0, 3) End With End IfEnd Sub